-1

我想读取整个文件并将其放入一个数组中,以便我可以向数组中添加更多内容并对其进行排序。然后我想覆盖文件并添加新的信息数组。我在打开文件时使用了 w+,但在我读取信息之前它就覆盖了它。所以我的问题如下。有没有办法可以从文件中读取内容,然后在我读取所有内容后从该文件中删除所有内容?我已经读取和写入文件了。这是删除我遇到问题的文件中的所有内容。

4

1 回答 1

2

首先,您需要以“读取”模式打开文件,扫描数据,然后以写入模式执行相同操作并将数据打印到相同的文件名。当您以写入模式打开文件名时,您会自动覆盖硬盘上的旧文件。

这是您可以执行的操作的示例:

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);
于 2013-10-19T19:07:18.127 回答