Я написал небольшое приложение, которое способно войти некоторые данные и записывает его с помощью ofstream в файл:Трудности с обработкой файлов после выключения или перезагрузки
ofstream filename;
filename.open("filename.ext", ios::out | ios::app);
filename << stuff;
Этот файл закрывается и вновь открыт каждый 30сек. Второй файл «settings.ext» используется для определения поведения программ. Функция выглядит следующим образом:
ifstream input("settings.qib", ios::in);
string number;
for (string line; getline(input, line);)
{
if (line.find("updateInterval") != string::npos) {
number = "";
for (int i = 0; !isspace(line.at(i)); i++) number += line.at(i);
updateInterval = stoi(number);
}
if (line.find("visibility") != string::npos) {
number = "";
for (int i = 0; !isspace(line.at(i)); i++) number += line.at(i);
Stealth(stoi(number));
}
if (line.find("console") != string::npos) {
number = "";
for (int i = 0; !isspace(line.at(i)); i++) number += line.at(i);
console = stoi(number);
}
}
Это было лучшее, что я мог придумать, чтобы прочитать из файла, как так:
0 = видимость
1 = Консоль
30 = updateInterval
Все работает отлично. Настройки обновляются в том же ритме, что и файл журнала.
Я создал запись реестра для всего, чтобы запускать программу при каждом запуске, что отлично работает. Но после выключения или перезагрузки программа, похоже, игнорирует два файла. В файл журнала не добавляется новый контент и обновляется параметр arent refreshd.
Я предполагаю, что это имеет какое-то отношение к тому факту, что файл журнала открыт во время выключения, но это не объясняет, почему файл настроек не тронут.
Я прочитал кое-что о WM_ENDSESSION
, но я не уверен, что это правильный путь.
Я открыт для всех видов ответов или других способов достижения своей цели.
Положите ':: DebugBreak();' в начале вашей программы это позволит вам прикрепить отладчик при автозапуске. –
Вы уверены, что ваша программа запускается вообще после перезагрузки? –
Он работает очень хорошо, даже функции регистрации работают правильно. Но программа не может открыть файлы. – Quallon