Я рекомендую разделить задачи (1) чтения файла, (2) манипулирования данными и (3) обновления файла.
Вы также должны ввести некоторую обработку ошибок и инициализировать свои переменные.
Вот некоторый код для начала работы:
#include <iostream>
#include <fstream>
int main()
{
using namespace std;
const char filename[] = "count.txt";
int count = 0;
{
ifstream inputFile(filename);
if (!(inputFile >> count))
{
cerr << "An error occurred while reading the persisted count" << endl;
}
}
++count;
cout << count;
{
ofstream outputFile(filename);
if (!(outputFile << count << endl))
{
cerr << "An error occurred while writing the persisted count" << endl;
}
}
}
Но это еще не все.Каждая из упомянутых выше проблем должна быть выделена в отдельные функции.
И затем вы должны рассмотреть безопасность потоков.Это было бы достаточно легко, используя блокировку.
Но что происходит, когда вы одновременно запускаете несколько экземпляров приложения ?Для этого вам понадобится блокировка на основе файлов.
Если вы хотите подсчитать количество выполнений на нескольких машинах, вам нужно решить еще более интересную проблему.