I/O aliran Unicode dalam mode teks dan biner
Ketika rutinitas I/O streaming Unicode (seperti fwprintf
, , fwscanf
, fgetwc
fputwc
, fgetws
, atau fputws
) beroperasi pada file yang terbuka dalam mode teks (default), dua jenis konversi karakter terjadi:
Konversi Unicode-ke-MBCS atau MBCS-ke-Unicode. Ketika fungsi Stream-I/O Unicode beroperasi dalam mode teks, aliran sumber atau tujuan diasumsikan sebagai urutan karakter multibyte. Oleh karena itu, fungsi stream-input Unicode mengonversi karakter multibyte menjadi karakter lebar (seolah-olah dengan panggilan ke
mbtowc
fungsi). Untuk alasan yang sama, fungsi stream-output Unicode mengonversi karakter lebar menjadi karakter multibyte (seolah-olah dengan panggilan kewctomb
fungsi).Pengangkutan terjemahan umpan baris kembali (CR-LF). Terjemahan ini terjadi sebelum konversi MBCS - Unicode (untuk fungsi input aliran Unicode) dan setelah konversi Unicode - MBCS (untuk fungsi output aliran Unicode). Selama input, setiap kombinasi umpan baris kembali gerbong diterjemahkan ke dalam karakter umpan baris tunggal. Selama output, setiap karakter umpan baris diterjemahkan ke dalam kombinasi umpan baris kembali pengangkutan.
Namun, ketika fungsi Stream-I/O Unicode beroperasi dalam mode biner, file diasumsikan sebagai Unicode, dan tidak ada terjemahan CR-LF atau konversi karakter yang terjadi selama input atau output. _setmode( _fileno( stdin ), _O_BINARY );
Gunakan instruksi untuk menggunakan wcin
dengan benar pada file teks UNICODE.
Baca juga
Rutinitas runtime Universal C menurut kategori
Input dan output
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk