首页 理论教育C语言程序设计第2版:文件检测实用技巧

C语言程序设计第2版:文件检测实用技巧

【摘要】:如果已经结束则返回值为非0值;否则返回0,表示文件尚未结束。例9.11从键盘上输入一个长度小于20的字符串,将该字符串写入文件“file.dat”中,并测试是否有错。

C语言中常用的文件检测函数主要用来检查输入输出函数调用中的错误。

1.文件结束检测函数feof()

feof()函数的调用格式:

feof(文件指针);

该函数的功能是测试文件指针指向的文件的位置指针是否已到达文件尾(文件是否结束)。如果已经结束则返回值为非0值;否则返回0,表示文件尚未结束。

2.读写文件出错检测函数ferror()

ferror()函数的调用格式:

ferror(文件指针);

该函数的功能测试文件指针所指的文件是否有错误。如果没有错误,ferror()返回值为0;否则返回一个非0值,表示出错。(www.chuimin.cn)

3.清除错误标志函数clearerr()

clearerr()函数的作用是使文件错误标志和文件结束标志置为0。假设在调用一个输入输出函数时出现错误,ferror()函数值被置一个非零值。在调用clearerr(fp)后,ferror(fp)的值变成0。

只要出现错误标志,就一直保留,直到对同一文件调用clearerr()函数或rewind()函数,或任何其他一个输入输出函数。

clearerr()函数的调用格式:

clearerr(文件指针);

该函数的功能是清除出错标志和文件结束标志,即将文件错误标志和文件结束标志置为0。

例9.11 从键盘上输入一个长度小于20的字符串,将该字符串写入文件“file.dat”中,并测试是否有错。若有错,则输出错误信息,然后清除文件出错标记,关闭文件;否则,输出输入的字符串。