텍스트 및 이진 모드의 유니코드 스트림 I/OUnicode Stream I/O in Text and Binary Modes

텍스트 모드(기본값)로 열린 파일에서 유니코드 스트림 I/O 루틴(예: fwprintf, fwscanf, fgetwc, fputwc, fgetws 또는 fputws)이 작동하는 경우 두 가지 종류의 문자 변환이 수행됩니다.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:

  • 유니코드에서 MBCS로 또는 MBCS에서 유니코드로의 변환.Unicode-to-MBCS or MBCS-to-Unicode conversion. 유니코드 스트림 I/O 함수를 텍스트 모드에서 사용할 경우 원본 또는 대상 스트림은 멀티바이트 문자 시퀀스로 간주됩니다.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. 따라서 유니코드 스트림 입력 함수는 mbtowc 함수 호출과 마찬가지로 멀티바이트 문자를 와이드 문자로 변환합니다.Therefore, the Unicode stream-input functions convert multibyte characters to wide characters (as if by a call to the mbtowc function). 동일한 이유로 유니코드 스트림 출력 함수는 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).

  • 캐리지 리턴 - 줄 바꿈(CR-LF) 변환.Carriage return - linefeed (CR-LF) translation. 이 변환은 MBCS에서 유니코드로 변환(유니코드 스트림 입력 함수) 전 및 유니코드에서 MBCS로 변환(유니코드 스트림 출력 함수) 이후에 발생합니다.This translation occurs before the MBCS - Unicode conversion (for Unicode stream input functions) and after the Unicode - MBCS conversion (for Unicode stream output functions). 입력하는 동안 각 캐리지 리턴 - 줄 바꿈 조합은 단일 줄 바꿈 문자로 변환됩니다.During input, each carriage return - linefeed combination is translated into a single linefeed character. 출력하는 동안 각 줄 바꿈 문자는 캐리지 리턴 - 줄 바꿈 조합으로 변환됩니다.During output, each linefeed character is translated into a carriage return - linefeed combination.

그러나 유니코드 스트림 I/O 함수가 이진 모드에서 작동하는 경우 파일은 유니코드로 간주되며 입력 또는 출력하는 동안 CR-LF 변환 또는 문자 변환이 발생합니다.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. 유니코드 텍스트 파일에서 wcin을 올바르게 사용하려면 _setmode( _fileno( stdin ), _O_BINARY );를 사용하십시오.Use the _setmode( _fileno( stdin ), _O_BINARY ); instruction in order to correctly use wcin on a UNICODE text file.

참고 항목See Also

범주별 유버니설 C 런타임 루틴Universal C runtime routines by category
입력 및 출력Input and Output