Итак, я пытаюсь обновить данные из исходного файла в новый временный файл, затем я удаляю исходный файл и переименовываю временный файл с именем исходного, например, так:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(){
FILE * fptr = NULL;
FILE * temp;
fptr = fopen("Original.txt", "rw+");
temp = fopen("temp.txt", "w");
if(fptr==NULL)//Check if file was opened successfully
{
printf("File could not be opened");
}
//cicle of me adding data to temp file
fclose(fptr);
fclose(temp);
remove("Original.txt");
rename("temp.txt","Original.txt");
return 0;
}
itработает в первый раз, но когда я выполняю снова, Original.txt становится пустым.Что может быть причиной этого?
Я пытался изменить temp = fopen ("temp.txt", "w");to temp = fopen ("temp.txt", "ab +");но информация в файле Original.txt заканчивается без пробелов или новых строк между ними (все вместе).И то же самое с "wb"
"rb", файл Original.txt исчезает.
при необходимости я могу добавить весь код, хотя я не думаю, что он имеет значение