프로그래밍2012. 12. 2. 17:42




wofstream을 이용해서 파일에 저장하다가 한글이 출력되지 않는 문제가 있어서 아래와 같이 로케일을 한글로 설정해 주었다.


std::wofstream fStream(_strFileName);

fStream.imbue(std::locale("kor"));


한글 출력은 잘 되는데 숫자를 출력할때 999를 넘어가면 1,000 이런식으로 콤마로 분리해줘서 다시 읽어오는 부분에서 정상적으로 읽어오지 못하는 문제가 생겼다.


std::wifstream fStream(_strFileName);

fStream.imbue(std::locale("kor"));


읽어오는 부분에서도 로케일을 한글로 설정해서 해결됐다.OTL


ps. 만약 숫자를 콤마로 구분해서 저장되는걸 막고 싶다면

std::wofstream fStream(_strFileName);

fStream.imbue(std::locale("kor", std::locale::ctype));

이렇게 하면 된다.

Posted by 버블껌