C解析之七文件进阶
前言:记忆如何写入文件,如何从文件中提取记忆。
文件的读/写是最常用的文件操作,C语言标准函数库提供了多种文件读写函数,分别在字符,字符串,数据块三个层面上的读写操作,适应不同的文件读写需求。
1.字符读写函数:
1.1读字符函数fgetc,从指定文件中读取一个字符,助记符为(file+get+char)。
- 用法:fgetc(FILE *filepoint)
- 返回值:fgetc的返回值是从文件读取到的字符:如果读到文件末尾,之返回EOF(end of file)。
- 自动后移:文件内部有一个位置指针,指向当前读取的字节,fgetc后该指针会自动往后移 动 便可以依次读取字符。
- 用法:fputc(int ch,FILE *filepoint)
- 返回值:fputc的返回值是写入文件的字符:如果发生错误则返回EOF(end of file)。
- 自动后移:fputc每次写入一个字符,文件内部的位置指针都会往后移动一个字节。
2.1读字符串函数fgets,从文件中读取指定长度字符到字符串变量中,助记符为(file get strings)。
- 用法:fgets(char * string,int nunber,FILE * filepoint)
- 返回值:返回文件中读出的字符串。
- number:只能读取出number-1个字符,最后一个位置需要放入'\0'结束标志。
2.2 写字符串函数fputs,往指定文件写入一个字符串,助记符为(file input strings)
- 用法:fputs(char *string,FILE * filepoint)
- 返回值:写入成功返回非负值:发生错误则返回EOF.
3.1写数据函数fwrite:fwrite(void *p,int size,int items,FILE *filepoint)
- p:数据的地址
- size:每个数据的长度
- items:数据的个数
- 返回值:写入成功返回数据个数items:错误时返回小于items.
- p:读出数据存放地址
- size:每个数据的长度
- items:需要读出的数据个数
- 返回值:成功返回读取数据个数items:错误时返回小与items.
至此,我们学了如何打开一个文件,将数据写入文件,读取出文件的内容,最后关闭文件。不少人潜意思里觉得文件很复杂,有意或无意地回避文件的使用。其实文件主要就是这些库函数的应用,便可发挥出文件强大的功能,编写出具有记忆的程序,比如通讯录,备忘录之类的应用。以后,你们会接触到程序记忆的另一个强大的载体-数据库。