获取模块文件名不返回路径



我正在尝试使用 VS c++ 获取 win7 下的当前目录,但是

TCHAR pBuf[MAX_PATH];
int bytes = GetModuleFileName(NULL, pBuf, MAX_PATH);
std::cout << bytes << "   " << pBuf << "   " <<   GetLastError() << std::endl;

返回长度 58 和我认为是 pBuf 中指向 68 的指针。错误代码为 0。

谢谢!

您的<<运算符不接受const TCHAR*作为字符串参数,并且您将其打印为泛型指针。

解决此问题的方法之一是使用A版本的 API(CHAR缓冲区和GetModuleFileNameA函数):

CHAR pBuf[MAX_PATH];
int bytes = GetModuleFileNameA(NULL, pBuf, MAX_PATH);
std::cout << bytes << "   " << pBuf << "   " <<   GetLastError() << std::endl;

相关内容

  • 没有找到相关文章

最新更新