§6.3文件操作的相关函数 (第6章文件) 、文件操作错误检测 1、feof函数 函数原型: int feof(FILE*fp) 功能:检查文件是否结束 返回值:若遇文件结束符,则返回非0值。否则返回0值 2、 ferrol函数 函数原型: int ferror(FIlE米fp) 功能:判断文件流上是否有错误。 返回值:若正确,则返回0。若发生错误,则返回非零值 注意:对同一个文件在每一次调用输入输出函数(如:putc、getc、 fread、 fwrite等)时,均产生一个新的 ferror函数值。因此,应当在调用一个输入输出 函数后立即检查 ferror函数的值,否则信息会丢失。在执行 fopen函数时, ferror函数的初始值自动置为0。 3、 clearer函数 函数原型: void clearer(FILE*fp) 功能:使文件错误标志( ferror的值)和文件结束标志(feof的值)置为0。 3鼬;es粤术詮εε8888脂 坛htp/www.elecfans.com电子发 11/31
http://bbs.elecfans.com 电子技术论 坛 http://www.elecfans.com 电子发 烧友 二、文件操作错误检测 11 / 31 (第6章 文 件) 1、feof函数 函数原型: int feof(FILE *fp) 功能:检查文件是否结束。 返回值:若遇文件结束符,则返回非0值。否则返回0值。 2、ferror函数 函数原型: int ferror(FILE *fp) 功能:判断文件流上是否有错误。 返回值:若正确,则返回0。若发生错误,则返回非零值。 注意:对同一个文件在每一次调用输入输出函数(如:putc、getc、fread、 fwrite等)时,均产生一个新的ferror函数值。因此,应当在调用一个输入输出 函数后立即检查ferror函数的值,否则信息会丢失。在执行fopen函数时, ferror函数的初始值自动置为0。 3、clearerr函数 函数原型: void clearerr(FILE *fp) 功能:使文件错误标志(ferror的值)和文件结束标志(feof的值)置为0。 §6.3 文件操作的相关函数
§6.3文件操作的相关函数 (第6章文件) 、顺序文件的读写 文件的顺序读写,是指文件被打开后,按照数据流的先后顺序对文件进行读 写操作。每读写一次后,文件指针自动指向下一个读写位置。 1、单个字符的读写函数( fgetc和 fputc) (1) fgetc函数(与getc一样) 函数原型: int fgetc(FIE*fp) 功能:从fp所指向的文件中取得下一个字符。 返回值:若正常,则返回所得到的字符 ASCII码值。否则读到文件尾(键盘输 入时Ctr1+Z表示文件结尾)或出错,返回-1(EOF) 注意:前面讲过的 getchar函数实际上是以下宏定义来实现的: #define getchar fgetc(stdin) 说明:①在 fgetc函数调用中,读取的文件必须是以读或读写方式打开的 ②读取字符的结果也可以不向字符变量赋值,这时读出的字符被丢失。③在文 件内部有一个位置指针,用来指向文件的当前读写字节。该指针由系统自动设 置,用户不用关心。每执行一次 f getc该指针自动下移一个字节,因此 f getc可 用在循环中读取文件的所有字符。 坛htp/www.elecfans.com电子发 12/31
http://bbs.elecfans.com 电子技术论 坛 http://www.elecfans.com 电子发 烧友 三、顺序文件的读写 12 / 31 (第6章 文 件) 文件的顺序读写,是指文件被打开后,按照数据流的先后顺序对文件进行读 写操作。每读写一次后,文件指针自动指向下一个读写位置。 1、单个字符的读写函数(fgetc和fputc) ⑴fgetc函数(与getc一样) 函数原型: int fgetc(FILE *fp) 功能:从fp所指向的文件中取得下一个字符。 返回值:若正常,则返回所得到的字符ASCII码值。否则读到文件尾(键盘输 入时Ctrl+Z表示文件结尾)或出错,返回-1(EOF)。 注意:前面讲过的getchar函数实际上是以下宏定义来实现的: #define getchar() fgetc(stdin) 说明:①在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。 ②读取字符的结果也可以不向字符变量赋值,这时读出的字符被丢失。③在文 件内部有一个位置指针,用来指向文件的当前读写字节。该指针由系统自动设 置,用户不用关心。每执行一次fgetc该指针自动下移一个字节,因此fgetc可 用在循环中读取文件的所有字符。 §6.3 文件操作的相关函数