C程序设计(第三版)第十章文件.ppt

  注意,EOF不是可输出字符,因此在屏幕上显示不出来。由于字符的ASCII码不可能出现-1,因此EOF定义为-1是合适的。当读入的字符值等于-1(即EOF)时,表示读入的已不是正常的字符而是文件结束符。但以上只适用于读文本文件。现在标准C已允许用缓冲文件系统处理二进制文件,读入某一个字节中的二进制数据的值有可能是-1,而这又恰好是EOF的值。这就出现了读入有用数据却被处理为“文件结束”的情况,即终止符设置不恰当。为了解决这个问题,标准C提供了一个feof()函数来判断文件是否真的结束。feof(fp)用来测试fp所指向的文件当前状态是否为“文件结束”,如果是文件结束,函数feof(fp) 的值为1(真),否则为0(假)。   例如,顺序读入一个二进制文件中的数据的程序段如下:   while(!feof(fp))   {    c=fgetc(fp);    } 当未遇文件结束时,feof(fp)的值为0,!feof(fp)为1,读入一个字节的数据赋给变量c(接着可做其它处理),之后再求feof(fp)函数,循环工作直到文件结束,feof(fp)值变为1,!feof(fp) 值为0,结束while循环。这种方法也适用于文本文件。  在掌握了以上几种函数以后,可以编制一些简单的使用文件的程序,下面是一文件建立的例子。   例 10.1 建立一个磁

文档评论(0)

1亿VIP精品文档

相关文档