CStdioFile을 이용하여 파일 입출력을 하는 경우 중 한글이 깨지는 경우가 발생.
일반적으로는 아래의 방법을 이용하여 해결 되는 경우가 많다.
하지만 프로그램을 통하지 않고 외부에서 파일을 생성하고 읽으려니 글자가 깨지는 현상을 발견.
나의 경우는 notepad++ 에서 작성한 내용을 CStdioFile을 이용해서 읽으니 정상적으로 읽어지지 않는 케이스.
한참의 삽질 끝에 알아낸 것은 CStdioFile의 경우 내용을 저장 할 때 Unicode 나 UTF-8 로 저장하지 않고 ANSI로 저장한다는 점. 내용이 한글이더라도 ANSI로 저장하고 읽어오는 과정에서 이에대한 처리가 이루어진다고 한다.
그래서 notepad++ 에서 작성한 내용은 기본이 UTF-8로 저장되어 있어서 CStdioFile을 이용하여 readstring 한 경우
내용이 제대로 읽어지지 않은 것이었다.
이러한 문제를 해결하기 위해서는 외부에서 작성 된 내용을 ANSI로 인코딩 해 주거나 애초에 파일 내용을 CStdioFile을 이용하여 작성하면 된다.
'Programming > C, C++, MFC' 카테고리의 다른 글
하위폴더 포함, 폴더 전체를 복사하자 (0) | 2020.11.10 |
---|---|
std::string에서 format을 사용하자 (2) | 2020.03.19 |
Unicode 환경에서 한글이 깨질경우 해결방법 (0) | 2019.03.11 |
cout을 이용할때 출력 정밀도를 제어해 보자 (0) | 2018.07.26 |
메모리 동적할당 예시 (0) | 2018.04.18 |