이 문서의 내용
테스트 환경 및 주요 아젠다
더보기
이 프로젝트의 개발 환경
- 개발 언어 및 주요 환경
- Visual Studio 2022
- C++ 17
- 기타 환경
- Windows 10
UTF-16으로 인코딩되는 문자를 표시하기 위해 wcout 및 wprintf를 사용하고 있습니다.
한글 문자를 변수에 단순 대입하고 표시하려고 하지만 문자가 정상적으로 표시되지 않습니다.
std::wprintf(L"가나다라마바사");
문제 해결: setLocal 또는 wcout.imbue
유니코드 환경에서 한글 문자가 출력되지 않는다면 프로그램 시작 부분에서 다음 코드를 추가하는 사전 작업이 필요합니다.
setlocale(LC_ALL, "");
std::wprintf(L"가나다라마바사");
또는 STL 사용 시 다음 코드로 대체 할 수 있습니다.
std::wcout.imbue(std::locale(""));
std::wcout << L"가나다라마바사" << std::endl;
이는 wcout에서 기본적으로 한글 지원이 되지 않기 때문입니다. 한글 지원을 위해서는 locale을 kr로 지정합니다.
'C++ > C, C++, STL' 카테고리의 다른 글
C++ Template과 Java Generic의 차이 (0) | 2024.05.28 |
---|---|
char, tchar_t 그리고 TCHAR 차이점 (0) | 2024.05.20 |
Microsoft C++ learn: 주석(Comments) (0) | 2024.05.16 |
Microsoft C++ learn: 토큰(Tokens) 및 문자 집합(Characters sets) (0) | 2024.05.16 |
헤더(Header) 파일과 소스 파일 분리 (0) | 2024.02.26 |