Я написал это приложение на C ++, которое должно проверить INI-файл («preference.ini») и в конечном итоге изменить его (например, если пользователь больше не хочет видеть форму введения).Я создал его в WinXP, и он отлично работает в системе, где я его скомпилировал (во многих местах, включая «Program Files»).
Проблема:
- В Win 7,это работает нормально, если я помещаю полную папку программы в «C»: \ »(например,« C: \ MyProgram »), но если я помещаю ее в« C: \ Program Files (x86) \ MyProgram », она просто получает некоторыетаинственные данные (значения отсутствуют в моем INI-файле).Когда я изменяю некоторые настройки и сохраняю их в файл, он (по-видимому) сохраняет изменения (не получает ошибок, но изменений нет, когда я иду и открываю файл ...
- У меня была похожая проблемав системе с другой системой WinXP (не той, где я ее скомпилировал.
Я использовал 'getcwd', чтобы определить путь во время выполнения, и я убедился, что он получает его правильно, даже в разделе "Программные файлы (x86) ":
char currentPath[MAXPATH];
getcwd(currentPath, MAXPATH);
std::string licensePath(currentPath);
licensePath.append("\\dat\\preference.ini");'
Есть идеи? Заранее спасибо за помощь.