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等编程语言。