c语言 打开文件 先读取再完全覆盖

Python014

c语言 打开文件 先读取再完全覆盖,第1张

先用读方式打开文件,读取完毕后关闭文件。再用相同的文件名写打开,原来的文件就自动清空了。以文件名是XXX.txt为例——

FILE

*fp

fp=fopen("XXX.txt","r")//读打开

...

...

fclose(fp)//关闭文件

fp=fopen("XXX.txt","w")//写打开,原来的文件就没有了

...

...

不能先写打开,不然就读不到内容了。

你需要解决两个问题。

1、待更改的文件应该是以“块”状形式写入的,比如fwrite((void *)student stu,sizeof(student),1L,fp),只有这样才能准确定位待更改“块”的位置。而以fprintf()写入的文件,可能由于数据的不同,每个结构数据占用的空间就不同,即使你能准确定位,但写入新数据后,若长度短了,剩余的空间可能造成混乱,若长度长了,可能造成”覆盖“。

2、打开文件同时用于”读/写“时,打开的格式是"r+"或”w+“。

另外,还需要搞清楚文件读写指针的使用特点,前两个问题解决后再讨论。

会。

在保存C语言的代码文件时,如果你第二个文件和第一个文件名重复,系统会提醒你已有该文件,是否覆盖,只有选择覆盖你才能让两个文件名一模一样,但是这样后面的文件就会把前面的文件内容覆盖掉。

C语言编译器普遍存在于各种不同的操作系统中,其设计也影响了Java、Python等编程语言。