E/S de secuencias Unicode en los modos binario y de textoUnicode Stream I/O in Text and Binary Modes

Cuando una rutina de E/S de secuencias Unicode (como fwprintf, fwscanf, fgetwc, fputwc, fgetws o fputws) actúa en un archivo que está abierto en modo de texto (valor predeterminado), se producen dos tipos de conversiones de caracteres:When a Unicode stream I/O routine (such as fwprintf, fwscanf, fgetwc, fputwc, fgetws, or fputws) operates on a file that is open in text mode (the default), two kinds of character conversions take place:

  • Conversión de Unicode a MBCS o de MBCS a Unicode.Unicode-to-MBCS or MBCS-to-Unicode conversion. Cuando una función de E/S de secuencias Unicode actúa en modo de texto (valor predeterminado), se supone que el flujo de origen o de destino es una secuencia de caracteres multibyte.When a Unicode stream-I/O function operates in text mode, the source or destination stream is assumed to be a sequence of multibyte characters. Por consiguiente, las funciones de entrada de secuencias Unicode convierten los caracteres multibyte en caracteres anchos (como si se realizara una llamada a la función mbtowc).Therefore, the Unicode stream-input functions convert multibyte characters to wide characters (as if by a call to the mbtowc function). Por la misma razón, las funciones de salida de secuencias Unicode convierten los caracteres anchos en caracteres multibyte (como si se realizara una llamada a la función wctomb).For the same reason, the Unicode stream-output functions convert wide characters to multibyte characters (as if by a call to the wctomb function).

  • Traducción de retorno de carro a avance de línea (CR-LF).Carriage return-line feed (CR-LF) translation. Esta traducción se produce antes de la conversión de MBCS a Unicode (para funciones de entrada de secuencias Unicode) y después de la conversión de Unicode a MBCS (para funciones de salida de secuencias Unicode).This translation occurs before the MBCS - Unicode conversion (for Unicode stream input functions) and after the Unicode - MBCS conversion (for Unicode stream output functions). Durante la entrada, cada combinación de retorno de carro y avance de línea se traduce en un único carácter de avance de línea.During input, each carriage return-line feed combination is translated into a single line feed character. Durante la salida, cada avance de línea se traduce en una combinación de retorno de carro y avance de línea.During output, each line feed character is translated into a carriage return-line feed combination.

En cambio, cuando una función de E/S de secuencias Unicode funciona en modo binario, se supone que el archivo es Unicode y no se realiza ninguna conversión de caracteres ni traducción CR-LF durante la entrada o salida.However, when a Unicode stream-I/O function operates in binary mode, the file is assumed to be Unicode, and no CR-LF translation or character conversion occurs during input or output. Use la instrucción _setmode( _fileno( stdin ), _O_BINARY ); para emplear wcin correctamente en un archivo de texto UNICODE.Use the _setmode( _fileno( stdin ), _O_BINARY ); instruction in order to correctly use wcin on a UNICODE text file.

Vea tambiénSee also

Rutinas en tiempo de ejecución Universal C por categoríaUniversal C runtime routines by category
Entrada y salidaInput and Output