E/S de la secuencia de Unicode en modos de texto y binario
Cuando una rutina de E/S de secuencia Unicode (como fwprintf, fwscanf, fgetwc, fputwc, fgetws, o fputws) funciona en un archivo que esté abierto en el modo de texto (valor predeterminado), dos tipos de conversiones de carácter tienen lugar:
Unicode-a-MBCS o de MBCS-a-Unicode conversión.Cuando una función de E/S de secuencia Unicode funciona en modo de texto, la secuencia de origen o de destino se supone que es una secuencia de caracteres multibyte.Por consiguiente, las funciones de la secuencia-entrada Unicode convierten los caracteres multibyte a caracteres anchos (como si por una llamada a la función de mbtowc ).Por la misma razón, Unicode secuencia-generado funciones convierte caracteres anchos a caracteres multibyte (como si por una llamada a la función de wctomb ).
Retorno de carro – traducción de avance de línea (CR-LF).Esta conversión se produce antes de MBCS – conversión Unicode (para Unicode transmitir funciones de entrada) y después de Unicode – conversión MBCS (para Unicode transmitir funciones de resultados).Durante entrada, cada retorno de carro (la combinación de avance de línea se convierte a un único carácter de avance de línea.Durante salida, cada carácter de avance de línea se convierte a un retorno de carro (combinación de avance de línea.
Sin embargo, cuando una función de E/S de secuencia Unicode funciona en modo binario, el archivo se supone que es Unicode, y ninguna conversión de traducción o de carácter de CR-LF durante entrada o salida.utilice el _setmode (_fileno (stdin), _O_BINARY); instrucción para correctamente utilizar wcin en un archivo de texto Unicode.