Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Когда подпрограмма потокового ввода-вывода Юникода (например, fwprintf, fwscanf, fgetwc, fputwc, fgetws или fputws) работает с файлом, открытым в текстовом режиме (по умолчанию), выполняются два типа преобразования символов:
Преобразование Юникод-в-MBCS или MBCS-в-Юникод. Если функция ввода-вывода потока Юникода работает в текстовом режиме, исходный или конечный поток рассматривается как последовательность многобайтовых символов. Поэтому входные функции потока Юникода преобразуют многобайтовые символы в расширенные (как если бы для этого вызывалась функция
mbtowc). По той же причине выходные функции потока Юникода преобразуют расширенные символы в многобайтовые (как если бы для этого вызывалась функцияwctomb).Преобразование символов возврата каретки — перевода строки (CR-LF). Это преобразование происходит перед преобразованием MBCS — Юникод (для функций потокового ввода Юникода) и после преобразования Юникод — MBCS (для функций потокового вывода Юникода). Во время ввода каждое сочетание "возврат каретки — перевод строки" преобразуется в один символ перевода строки. Во время вывода каждый символ перевода строки преобразуется в сочетание "возврат каретки — перевод строки".
Однако если функция потокового ввода-вывода Юникода работает в двоичном режиме, предполагается, что файл будет в Юникоде, и преобразование CR-LF или преобразование символов во время ввода или вывода не производится. Для правильного использования _setmode( _fileno( stdin ), _O_BINARY ); с текстовым файлом Юникода примените инструкцию wcin.
См. также
Универсальные подпрограммы среды выполнения C по категориям
Входные и выходные данные