다음을 통해 공유


텍스트 및 이진 모드에서 유니코드 스트림 I/O

때 유니코드 스트림 I/O 루틴 (같은 fwprintf, fwscanf, fgetwc, fputwc, fgetws, 또는 fputws) 텍스트 모드 (기본값) 이라는 두 종류의 문자 변환이 발생 하기 때문에 열려 있는 파일에서 작동 합니다.

  • 유니코드에서 MBCS 나 유니코드에 MBCS 변환을 합니다.때 유니코드 스트림-I/O 함수 소스 텍스트 모드에서 작동 합니다. 또는 대상 스트림 멀티 바이트 문자 시퀀스로 간주 됩니다.따라서 유니코드 스트림 입력 함수 멀티 바이트 문자를 와이드 문자로 변환 (로 하는 경우 호출 하는 mbtowc 함수).같은 이유로, 유니코드 스트림 출력 함수 와이드 문자 멀티 바이트 문자로 변환 (as를 호출 하는 경우는 wctomb 함수).

  • 캐리지 리턴-줄 바꿈 (CR-LF) 번역.이 번역에 MBCS-유니코드 변환 (입력된 기능을 스트림 유니코드)에 발생 한 후-유니코드 (유니코드 스트림 출력 함수)에 MBCS 변환 합니다.입력 하는 동안 각 캐리지 리턴-줄 바꿈 조합 하나의 줄 바꿈 문자로 변환 됩니다.출력 시 각 줄 바꿈 문자가 캐리지 리턴-줄 바꿈 조합으로 변환 됩니다.

그러나 유니코드 스트림-I/O 함수 이진 모드로 작동 되 면 파일이 유니코드로 간주 됩니다 및 CR LF 번역 또는 문자 변환 입력 또는 출력 시에 발생 합니다.사용 하는 _setmode (_fileno (stdin), _O_BINARY). 유니코드 텍스트 파일에서 wcin를 잘못 사용 하는 명령입니다.

참고 항목

참조

범주별 런타임 루틴

입력 및 출력