以下代码:

#include <iostream>
#include <Windows.h>

using namespace std;

int main ()
{   LPWSTR buffer; //or wchar_t * buffer;
    GetModuleFileName(NULL, buffer, MAX_PATH) ;
    cout<<buffer;
    cin.get();
    cin.get();

}

应该显示程序执行的完整路径。但是在VS 2012中,我得到了错误:



代码有什么问题?

最佳答案

您需要为其提供一个可以容纳一些字符的缓冲区;

 wchar_t buffer[MAX_PATH];

例如。

关于c++ - 如何正确使用GetModuleFileName?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18783087/

10-11 22:41
查看更多