유니코드 모드에서 _fgetts 오동작

hsnks100의 이미지

뭐.txt 텍스트 파일에 다음과 같은 내용이 있습니다.

철수와 영희

근데

FILE* fp = _tfopen(TEXT("뭐.txt"), TEXT("rt"));
TCHAR text[256];
_fgetts(text, 256, fp);

이렇게 하면 한글이 깨져서 나옵니다. 왜 이런건가요?

아무리 봐도 이해가 되지 않네요.

hsnks100의 이미지

ㅠㅠ 너무 간단한거라 답글이 안달리는건가요...

----------------------------------------------------
개인 블로그: https://kangssu.com

kewlbear의 이미지

출력은 어떻게 하셨나요?

hsnks100의 이미지

출력은 GetWindowText 로 했습니다. (내부적으론 GetWindowTextW 로 맵핑되어있겠죠.)

----------------------------------------------------
개인 블로그: https://kangssu.com

익명 사용자의 이미지

입출력 함수가 불리 전에 호출해 주세요.

_wsetlocale(LC_ALL, L"korean"); // #include 추가