【发布时间】:2011-03-12 15:34:37
【问题描述】:
我编写了这个 C++ 应用程序,它需要检查一个 INI 文件(“preference.ini”),并最终修改它(例如,如果用户不想再看到介绍表单)。我在 WinXP 中创建它,它在我编译它的系统上运行良好(在许多位置,包括“程序文件”)。
问题:
- 在 Win 7 中,如果我将完整的程序文件夹放在“C”:\”下(例如“C:\MyProgram”),它可以正常工作,但如果我把它放在“C:\Program Files (x86)\ MyProgram”,它只是检索一些神秘的数据(我的 INI 文件中不存在的值)。当我更改一些设置并将它们保存到文件时,它(显然)保存更改(没有错误,但是当我去打开文件时更改不存在......
- 我在使用另一个 WinXP 系统(不是我编译它的那个系统)的系统上遇到了一些类似的问题。
我使用 'getcwd' 在运行时定义路径,并且我验证它是正确的,即使在“Program Files (x86)”下也是如此:
char currentPath[MAXPATH];
getcwd(currentPath, MAXPATH);
std::string licensePath(currentPath);
licensePath.append("\\dat\\preference.ini");'
有什么想法吗?提前感谢您的帮助。
【问题讨论】:
标签: c++ windows file permissions