_pgmptr 发生了什么?

rse*_*thc 4 c++ windows path

我一直使用_pgmptr,它是char*Windows 提供的,它给出了可执行文件的准确完整路径。然而,最近更新 MinGW 后,它似乎被定义为 NULL。有没有其他方法可以获取完整的可执行路径,而无需其名称(例如,而不是仅仅C:\program.exe适合C:\我正在做的事情)?

我喜欢独立于平台的方式或特定于 Windows 的方式,只要它可靠即可。

Joe*_*oey 6

GetModuleFileName是检索程序路径和名称的 API 函数。

  • 是的,从该页面链接“全局变量 _pgmptr 自动初始化为可执行文件的完整路径,并可用于检索可执行文件的完整路径名。” 位于注释部分。http://msdn.microsoft.com/en-us/library/tza1y5f7.aspx 表示它已被弃用。 (2认同)