重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。
创新互联是一家集网站建设,东安企业网站建设,东安品牌网站建设,网站定制,东安网站建设报价,网络营销,网络优化,东安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
你的说法: 函数feof(fp)的作用是判断文件fp是否结束. 若是,返回非零值,否则,返回0。
即使文件是空的,也要再读一次,feof函数值才会变为真。因为只有读出所有的数据之后,再读一次,函数feof(fp)的返回值才为真。(请见《C语言好程序设计—从入门到进阶》,人民邮电出版社,2011。
feof(文件流指针) ,不到结尾返回0,否则返回1 就一个判断状态的函数 FILE *fp=fopen。。
因为文件已经结束,故feof(fp)的返回值为0,这也是判断是否结束读取文件信息的标志。
feof是一个c语言函数,既可用以判断二进制文件又可用以判断文本文件。feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为1,否则为0。EOF是文件结束标志的文件。
feof()函数不是判断上次读操作是否读到文件末尾,而是判断当前文件指针所指向未知是否是文件末尾。和你读没读没关系。所以即使你打开文件,没有读,如果文件是个空文件,那么直接调用feof()也将返回真。
即使文件是空的,也要再读一次,feof函数值才会变为真。因为只有读出所有的数据之后,再读一次,函数feof(fp)的返回值才为真。(请见《C语言好程序设计—从入门到进阶》,人民邮电出版社,2011。
等着我,明天帮你解决。while(!feof(in))fputc(fgetc(in),out);//这句话有问题。应该如下:while(1){ ch=fgetc(in);if(ch == -1) break;fputc(fgetc(in),out);} //这样就可以了。
1、feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值,文件未结束,返回0值),文件结束符只能被clearerr()清除。
2、feof 只是“事后”检查,它不会改变文件流的状态,甚至根本不会去读文件,它只会检查相应的 FILE 结构体的 eof 标记。某种意义上,feof 就是面向对象中的 getter 方法。
3、feof是c标准函数,原型:int feof(FILE *stream)是feof函数原型,文件结束返回非0值,否则返回0。fp对应上面的文件流,!是bool取反的意思,!feof(fp)组合起来就是文件尚未结束的逻辑。
4、feof(fp)函数,如果文件没有读完,返回0,如果读完了返回1,所以feof(fp)=0时,即文件没有读完的时候,!feof(fp)为真,执行while里面的代码,意思就是,文件没有读完,执行while里面的语句,反之,跳出while循环。