C语言EOF了解

【FORM MSDN &&百科】

EOF--end of  file   

EOF is returned by an I/O routine when the end-of-file (or in some cases, an error) is encountered.

在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符ASCII代码值的形式存放。ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。

从stdio.h中可以看到EOF是一个宏,其值为-1

#define EOF     (-1)

C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

	while((c=getchar())!=EOF)
	{
		putchar(c);
	}

在 UNIX中, EOF表示能从交互式 shell (终端) 送出 Ctrl+D (习惯性标准)。在微软的 DOS 与 Windows 中能送出 Ctrl+Z。


C语言中,当把数据以二进制形式存放到文件中时,就会有-1值的出现,此时不能采用EOF作为二进制文件的结束标志,而要用到feof()。

feof函数既可用以判断二进制文件是否结束,也可以用以判断文本文件是否结束。


练习1-6:验证表达式getchar()!=EOF的值是0还是1

getchar()!=EOF  的值是1

练习1-7:编写一个打印EOF值的程序

printf("EOF'S value is %d\n",EOF);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值