我正在尝试通过调用 GetModuleFileName()
使用图像的 VM 地址加载图像的名称。这似乎将值正确返回到 TCHAR[]
大批。我能够使用 MessageBox()
正确显示数据但是cout <<
似乎显示一些时髦的十六进制数。
TCHAR buf[MAX_PATH];
HMODULE hProc = LoadLibrary(TEXT("kernel32.dll"));
GetModuleFileName(hProc, buf, MAX_PATH);
cout << buf; //Produces the odd number
MessageBox(NULL, buf, NULL, MB_OK); //Produces correct filepath
FreeLibrary(hProc);
我应该为 cout
设置一个标志吗?所以它知道正确打印它?谢谢!
最佳答案
可能您需要使用wcout
,因为您的TCHAR
可能是unicodish。或者转换它。
关于c++ - MessageBox 产生与 Cout C++ 不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371252/