【发布时间】:2017-09-05 15:00:11
【问题描述】:
我正在尝试使用 win32 api(使用GetCurrentDirectory)作为char 数组获取当前目录...
但打印以下代码:004FF56C
TCHAR NPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH, NPath);
std::cout << NPath << endl;
这段代码有什么问题?
【问题讨论】:
-
我怀疑您定义了
UNICODE宏。尝试改用std::wcout。 -
@Ruslan Ver 您需要将设置更改为不使用UNICODE,在Visual Studio 中,转到项目属性和第一页,将
Use Unicode Character Set更改为Not Set -
您可以使用标准的
wcstombs函数或WideCharToMultibyteWindows函数。 -
更好的是,不要陷入使用微软可怕的
TCHAR宏的陷阱。它如何渗透到用户程序中令人不安,这是 Visual Studio 的错。 -
或:
char NPath[MAX_PATH]; GetCurrentDirectoryA(MAX_PATH, NPath);.
标签: c++ windows winapi directory