C++ 使用getCurrentDirectoryW不会';不读取非语言环境字符

C++ 使用getCurrentDirectoryW不会';不读取非语言环境字符,c++,visual-studio-2010,visual-c++,wchar-t,C++,Visual Studio 2010,Visual C++,Wchar T,我使用以下代码读取Windows7中的当前目录。当前目录为C:\特斯塔敌人. 当前区域设置为英语(EN)。我使用getCurrentDirectoryW的想法是它将正确读取目录路径,因为函数使用unicode: wchar_t w_pcRootLocation[MAX_PATH+100]; GetCurrentDirectoryW(MAX_PATH, w_pcRootLocation); wcout << w_pcRootLocation << endl; 汉字看不清楚

我使用以下代码读取Windows7中的当前目录。当前目录为C:\特斯塔敌人. 当前区域设置为英语(EN)。我使用getCurrentDirectoryW的想法是它将正确读取目录路径,因为函数使用unicode:

wchar_t w_pcRootLocation[MAX_PATH+100];
GetCurrentDirectoryW(MAX_PATH, w_pcRootLocation);
wcout << w_pcRootLocation << endl;
汉字看不清楚。这里的问题是什么?如何正确读取Unicode中的路径

谢谢。

GetCurrentDirectoryW()可能工作正常。这是下一个有问题的地方


wcout将使用“C”语言环境。您需要适当地调整(
imbue()
)以显示代码页外图示符。有关详细信息,请参阅

这个问题似乎解决了wcout的问题


值得使用调试器进行检查,以确保
w\u pcRootLocation
确实包含字符。

在调试器中遍历代码,您将看到
GetCurrentDirectoryW
工作正常。问题在于
wcout
。(换言之,汉字读得很好。问题发生在书写时。)
C:\