十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
读文件的最后一个字节后,并不是EOF, 然后再读,读文件尾才是EOF
为大安市等地区用户提供了全套网页设计制作服务,及大安市网站建设行业解决方案。主营业务为网站设计制作、做网站、大安市网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
你读最后一个字符, 读出后没有EOF,记录, 然后判断feof, 之后又开始读, 才EOF, 没读出, 变量里还是之前的值, 你又记录, 然后再判断EOF才退出
你应该读完之后立即判断EOF然后再记录,如果读多个字节或读不固定的大小还要判断读文件的函数的返回值有没有读出来
判断文件是否结尾,只需要判断EOF就可以了,如果到达相关联的输入文件的末尾,eof()函数返回true,否则返回false。希望对你有用!!
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。
一般EOF的值为-1,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。
EOF在windows对应的按键是CTRL+Z键,在linux系统上对应的按键是CTRL+D。比如下面的代码:
#include stdio.h
int main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
return 0;
}
运行程序按CTRL+Z键,即会显示“^Z",再次按回车键即可退出程序。
C语言判断文本文档的结束的源代码如下:
#include iostream
#include fstream
using namespace std;
#define FILENAME "stat.dat"
int main()
{
fstream _file;
_file.open(FILENAME,ios::in);
if(!_file)
{
coutFILENAME"没有被创建";
}
else
{
coutFILENAME"已经结束";
}
return 0;
}
扩展资料
C语言向文件写入内容并读取显示的源代码如下:
#include stdio.h
#include stdlib.h
#include errno.h
#define FILE_PATH "D:/demo.txt" // 文件路径
int main(){
char name[20]; // 姓名
int age; // 年龄
int studNo; // 学号
float score; // 平均分
FILE *fp; // 文件指针
// 判断文件是否能够正确创建/打开
if( (fp=fopen(FILE_PATH,"wt+")) == NULL ){
perror(FILE_PATH);
exit(1);
}