다음 코드를 사용하여 Windows 7의 현재 디렉토리를 읽습니다. 현재 디렉토리는 C : \ 特斯塔 인테리어입니다. 현재 로케일은 영어 (EN)입니다. 나는 그것을 제대로 유니 코드 사용하는 기능 이후 디렉토리 경로를 읽을 것이라는 생각 getCurrentDirectoryW을 사용 :getCurrentDirectoryW를 사용하면 로케일이 아닌 문자를 읽지 않습니다.
wchar_t w_pcRootLocation[MAX_PATH+100];
GetCurrentDirectoryW(MAX_PATH, w_pcRootLocation);
wcout << w_pcRootLocation << endl;
MAX_PATH는 WinDef.h에 정의되어 있으며 내가 출력을 인쇄 할 때 (260)
같다 wcout을 사용하여 콘솔에 표시되는 내용은 다음과 같습니다.
C:\
한자는 분명히 읽히지 않습니다. 이 문제는 무엇이며 유니 코드의 경로를 올바르게 읽는 방법은 무엇입니까?
감사합니다.
디버거의 코드를 단계별로 실행하면 'GetCurrentDirectoryW'가 정상적으로 작동하는 것을 볼 수 있습니다. 문제는'wcout'입니다. (즉, 한자를 제대로 읽었을 때 문제가 * 쓰여질 때 발생합니다.) –