社区
C语言
帖子详情
如何输入EOF
三三Jim
2012-08-16 09:41:03
输入一次一个字符的复制的输出
int main(void)
{
int c;
c = getchar();
while (c != EOF)
{
putchar(c);
c = getchar();
}
return 0;
}
输入什么然后下面复制的输出
wowowowo
wowowowo
-1
-1
如何输入才能让这个程序停止下来,也就是在输入字符时如何输入EOF(EOF = -1)?
...全文
3281
9
打赏
收藏
如何输入EOF
输入一次一个字符的复制的输出 int main(void) { int c; c = getchar(); while (c != EOF) { putchar(c); c = getchar(); } return 0; } 输入什么然后下面复制的输出 wowowowo wowowowo -1 -1 如何输入才能让这个程序停止下来,也就是在输入字符时如何输入EOF(EOF = -1)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Sleepwalker2013
2013-09-07
打赏
举报
回复
老弟是哈尔滨的吧
Vincent_Song
2012-08-16
打赏
举报
回复
EOF==-1,-1作为不可见字符,无法人工输入,所以必须通过其他方式模拟输入(比如组合键)。
woeser
2012-08-16
打赏
举报
回复
好像是win平台,ctrl+Z,linux是ctrl+D。希望下面的一点笔记能对你有所帮助,其实我也很困惑,具体可以参照着试下再得出结论。
1.EOF作为文件结束符时的情况:
EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。
(1)遇到getcahr函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar(),去执行程序的其他部分;
(2)在前面输入的字符为换行符时,接着输入Ctrl+D;
(3)在前面有字符输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能,至于第一次的Ctrl+D的作用将在下面介绍。
其实,这三种情况都可以总结为只有在getchar()提示新的一次输入时,直接输入Ctrl+D才相当于文件结束符。
2.EOF作为行结束符时的情况,这时候输入Ctrl+D并不能结束getchar(),而只能引发getchar()提示下一轮的输入。
这种情况主要是在进行getchar()新的一行输入时,当输入了若干字符(不能包含换行符)之后,直接输入Ctrl+D,此时的Ctrl+D并不是文件结束符,而只是相当于换行符的功能,即结束当前的输入。以上面的代码段为例,如果执行时输入abc,然后Ctrl+D,程序输出结果为:
abcabc
注意:第一组abc为从终端输入的,然后输入Ctrl+D,就输出第二组abc,同时光标停在第二组字符的c后面,然后可以进行新一次的输入。这时如果再次输入Ctrl+D,则起到了文件结束符的作用,结束getchar()。
如果输入abc之后,然后回车,输入换行符的话,则终端显示为:
abc //第一行,带回车
abc //第二行
//第三行
其中第一行为终端输入,第二行为终端输出,光标停在了第三行处,等待新一次的终端输入。
从这里也可以看出Ctrl+D和换行符分别作为行结束符时,输出的不同结果。
EOF的作用也可以总结为:当终端有字符输入时,Ctrl+D产生的EOF相当于结束本行的输入,将引起getchar()新一轮的输入;当终端没有字符输入或者可以说当getchar()读取新的一次输入时,输入Ctrl+D,此时产生的EOF相当于文件结束符,程序将结束getchar()的执行。
三三Jim
2012-08-16
打赏
举报
回复
linux下Ctrl+d ,别的是終止
huangdancs
2012-08-16
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
这个我知道,我要的是如何输入让他等于EOF?
[/Quote]
Windows下面Ctrl+z就相当于EOF
图灵狗
2012-08-16
打赏
举报
回复
CTRL+Z/CTRL+C/CTRL+D就相当于输入EOF,不同的操作系统用不同的组合键。
三三Jim
2012-08-16
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
这个我知道,我要的是如何输入让他等于EOF?
[/Quote]
这个我知道,我要的是如何输入让他等于EOF?
三三Jim
2012-08-16
打赏
举报
回复
这个我知道,我要的是如何输入让他等于EOF?
tragedyhomeland
2012-08-16
打赏
举报
回复
按组合键,ctrl+z然后回车!!
在控制台
输入
EOF
EOF
(end of file的缩写) 某些系统也许把
EOF
定义为-1以外的值,但是定义的值一定与
输入
字符所产生的返回值不同 使用
EOF
符号,就不必担心
EOF
值不同的问题 这里关键要理解
EOF
是一个值,标志着检测到文件结尾,而且和其它返回值不会有冲突 当正在读取的不是文件,而是键盘
输入
时,绝大部分系统都能做到通过键盘模拟
EOF
要
输入
EOF
,正确的方法是,必须找出当前系统的要求 例如,在大多数UNIX和Linux系统中,在一行开始处按下Ctrl+D会传输文件结尾信号 而许多微型计算机系统都
程序运行时,如何
输入
EOF
By: Ailson Jack Date: 2021.04.23 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/133.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。 1.终端中如何
输入
EOF
在C语言运行过程中,有时需要在终端手动
输入
EOF
,其
输入
方法与操作系统有关。 windows系统:实际上
输入
是在dos下面执行的,也就是运行时的那个黑底窗口。在windows下
输入
c语言
eof
不起作用,c语言程序设计 怎么以
输入
EOF
结束
EOF
(EndOfFile)是C语言中的文件结束标志符。当C语言
输入
函数获取到文件结尾标志时,会通过返回值的方式体现该值。所以要以
输入
EOF
为结束,就需要判断
输入
函数的返回值。
EOF
定义在stdio.h中,与常用的
输入
函数相同,所以不需要额外引用头文件。以下根据
输入
函数不同,分别说明
EOF
的判断。1getchargetchar函数的功能是读入一个字符。适用于逐个字符
输入
的情况。其返回值为int型,...
c/c++控制台如何手动
输入
EOF
终止符
调试程序如何手动
输入
EOF
? 一定要特别注意一般大家都只会告诉你,
输入
crtl+z就可以了,但其实这样是不完整的,或者说,这样的讲述对于新手来说不是特别的友好 划重点 在控制台当中,我们都是以每一行作为一个全新的单位来进行读取的,无论的你的程序代码是怎样的,在控制台当中就是,机器就是这一个样子来处理的。 那么,ctrl+z应该如何
输入
? ctrl+z必须在全新的一行的开头进行
输入
也就是说,你
输入
完成之后,要在全新的一行的开头进行
输入
,特别注意如果你的控制台当中已经输出了答案,也就是你的光标位置不在全新一行
什么是
EOF
,如何
输入
EOF
什么是
EOF
,如何
输入
EOF
,详细解释
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章