Из блока перехвата исключений кажется, что запись в файл не происходит.C++

Программы на C++. Форум разработчиков
Anonymous
Из блока перехвата исключений кажется, что запись в файл не происходит.

Сообщение Anonymous »

Хочу обновить файл из блока catch, пишет всего несколько байт. Write(), кажется, проходит, но содержимого нет. В основном ведется подсчет исключений.
Моя файловая система странная: PJFS в ОС Greenhills Integrity, использующая C++14. Я пробовал как std::ofstream, так и API-интерфейсы открытия/записи низкого уровня и т. д., ни один из них не работал, как и fsync(). Я могу читать содержимое файла из блока catch, но не могу писать.
Буду благодарен за любую информацию. Спасибо.
Оба отпечатка выглядят хорошо во время загрузки и сохранения, но после перезагрузки, когда я повторно загружаю счетчик, он не увеличился.
class Tracker
{
public:
void LoadCounter(); // Load counter from file
void IncrementCounter(); // Save counter++ to file

private:
static int m_Counter; // static counter

};

// static m_Counter is initialized in Tracker.cpp file
int Tracker::m_Counter = 0;

void Tracker::IncrementCounter()
{
std::ofstream file("tracker.txt", std::ios::out | std::ios::trunc);
if (file.is_open()) {
m_Counter++;
file

Подробнее здесь: https://stackoverflow.com/questions/792 ... -happening

Вернуться в «C++»