我想读取整个文件并将其放入一个数组中,以便我可以向数组添加更多文件并对其进行排序。然后我想覆盖该文件并添加新的信息数组。当我打开文件时,我使用了w +但是在我甚至可以读取信息之前它会覆盖它。所以我的问题如下。有没有办法可以从文件中读取内容然后在我读完后删除该文件中的所有内容?我有读取和写入文件。这是删除文件中我遇到问题的所有内容。
答案 0 :(得分:1)
首先,您需要以“读取”模式打开文件,扫描数据,然后在写入模式下执行相同操作,并将数据打印到相同的文件名。在writemode中打开文件名时,会自动覆盖硬盘上的旧文件。
以下是您可以执行的操作示例:
FILE *inputFile, *outputFile;
// First part - Read from file
inputFile = fopen(INFILENAME, "r");
fscanf(inputFile, "Bla Bla Data", &dataFromFile);
fclose(INFILENAME);
// modify the data as needed.
// Second part. - write to same file
outputFile = fopen(OUTFILENAME, "w");
printf("bla bla new data");
fclose(OUTFILENAME);