(1)关闭文件
打开(fopen)一个文件后,一定要记得关闭(fclose),否则可能造成缓冲区内容没有存入磁盘等问题;
--C程序设计(谭浩强)p334:应该养成在程序终止之前关闭所有文件的习惯,如果不关闭文件将会丢失数据。在向文件写数据时,是先将数据输出到缓冲区,待缓冲区充满后才正式输出给文件。如果当数据未充满缓冲区而程序结束运行,就会将缓冲区的数据丢失。用fclose函数关闭文件,可以避免这个问题,它先把缓冲区中的数据输出到磁盘文件,然后才释放文件指针变量。
(2)C文件边读边写
首先以读写方式打开(r+ w+ a+都可以,不过要注意读写位置指针分别指向文件头、文件头、文件尾),一次读一个字符(此时读写位置指针指向此字节后面,判断后,若要转换,移动读写位置指针fseek(fp,-1L,SEEK_CUR),再写入,由于在C中规定:以上述三种方式打开文件,既可读又可写,但:在没有插入fseek()或rewind()的情况下,写不可以直接跟在读后面,在没有插入fseek()rewind()或碰到文件结束的情况下,读不可以直接跟在写后面。所以要转换读写状态。
引用:http://h-zy2008.blog.163.com/blog/static/109762315200961692251497/
附E02.c:(凯撒移位加、解密,在一个文件内读写)