浅析EOF

EOF在C语言中用于标识文件结束,通常返回值为-1。getchar()和scanf()在读取文件到末尾时会返回EOF。Ctrl+D在Linux和Unix,以及Ctrl+Z在某些系统(如Windows)中作为文件结束信号。以下是一个演示程序,用于反复读取输入直至遇到EOF。
摘要由CSDN通过智能技术生成

  EOF是end of file的缩写,在c语言中,用getchar()或者scanf()读取文件检测到结尾,都会返回一个特殊的值,这个返回值就是EOF。EOF定义在头文件stdio.h中:#define EOF (-1)     由于输入字符的返回值通常在0~127间,包括扩展字符集的返回值返回值也只不过在0~255间,也就是说,-1不对应任何字符,故可以标记文件结尾,其实-2或者-3当然也可以,但是c语言中已经规定了。

  getchar()返回值为int,把其返回值赋给char类型的数据难免有时会丢失数据,在Linux和unix中,Ctrl+D表示文件结尾,许多微型计算机,包括windows,把Ctrl+Z表示文件结尾,有些系统把任意位置的Ctrl+Z解释成文件结尾信号(Windows下并不是)。

  来看 一个小程序:(重复输入,直到文件结尾)

#include<stdio.h>
int main(void)
{
	int ch;
	
	while((ch=getchar())!=EOF)
	    putchar(ch);
	
	return 0;
 } 

可以利用这个程序来输入一段字符,按回车后,所输入的字符会在下一行原样显示,光标跳转到下一行,等待继续输入,当遇到Ctrl+Z才会结束该循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值