我还没有找到关于此的明确答案.我试图从我的.EXE访问子文件夹中的文件.当我之前问过,人们告诉我使用绝对位置,即“c:/ game / info /”如果我想访问/ info /中的内容
但是,对于我或任何人来说,假设有人要从同一目录中使用他们的程序是完全不合理的.如果用户只有D盘怎么办?诸如此类的事情.
解决方法
你的标题是“
Windows”,所以我会给出一个特定于WinAPI的答案.
在Windows上,您可以使用GetModuleFileName(NULL,...)
和PathRemoveFileSpec
找到应用程序目录.然后,PathAppend
将显示数据文件的完整路径.
或者您可以将数据存储在.exe文件中作为Win32 resources,因此它们永远不会分开.
请注意,此方法通常仅适用于对数据文件的只读访问.如果您尝试在应用程序目录中写入文件,则可能会被ACL阻止(取决于计算机的安装位置和本地安全设置).