У меня возникли трудности итеративно записи в текстовый файл в C.Как добавить текст в текстовый файл итеративно в с
Мне нужно выписать ряд значений после каждой итерации цикла для так что если я остановлю свою программу от запуска в любой момент, я не потеряю данные, которые я уже собрал.
Код У меня есть работы, если я выполняю весь цикл, но если я использую команду ctrl + c, чтобы остановить запуск программы, потому что слишком долго мой .txt-файл пуст.
Я не знаю, вызвано ли это командой ctrl + c, потому что у файла нет возможности закрыть или нет, но есть ли другие решения? Должен ли я открыть файл и закрыть его во время каждой итерации цикла и добавить в файл .txt? Я думал, что это может привести к перезаписыванию предыдущих данных, записанных в файл .txt, а также к увеличению времени выполнения.
Heres очень простой пример того, что я сейчас делаю, надеюсь, это показывает, что я пытаюсь сделать:
FILE *fp;
fp = fopen("Output.txt", "w");
int a = 0;
int b = 0;
int c = 0;
for(int i=0;i<500;i++)
{
a = a+1;
b = b+1;
c = c+1;
printf("a = %d\tb = %d\tc = %d\n"); // printing to console
fprintf(fp,"%d,%d,%d\n",a,b,c); // printing to file
}
fclose(fp);
добавить 'fflush (fp);' на каждой итерации. Или установите его как небуферизованный. – LPs