社区
C语言
帖子详情
关于EOF的问题
novice2008
2009-02-12 06:16:03
#include <stdio.h>
int main()
{
char ch;
while((ch = getchar()) != EOF)
putchar(ch);
return 0;
}
为什么我输入CTRL+Z没反应呢?连屏幕上显示^z都没有
...全文
163
17
打赏
收藏
关于EOF的问题
#include int main() { char ch; while((ch = getchar()) != EOF) putchar(ch); return 0; } 为什么我输入CTRL+Z没反应呢?连屏幕上显示^z都没有
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chaoyue2046
2009-07-07
打赏
举报
回复
终于找到一个和我问题一样的,不知lz问题解决了没有
如果解决了,麻烦告诉我一下,不胜感激啊
Linux校园社区
2009-02-15
打赏
举报
回复
修改下:
是Ctrl+Z,回车,Ctrl+Z,再回车。
Linux校园社区
2009-02-15
打赏
举报
回复
回车,Ctrl+Z,再回车。
thinkboy234
2009-02-15
打赏
举报
回复
我怎么按着没问题
ctrl+z,回车
guojing1009
2009-02-13
打赏
举报
回复
Ctrl+Z应该就退出循环了吧,我还看了个方法,好象是按alt+65535
novice2008
2009-02-13
打赏
举报
回复
[Quote=引用 10 楼 wyswyg63 的回复:]
引用 4 楼 icemine 的回复:
因为getchar()将输入字符放入了线性缓冲区中,所以Ctrl+Z后要回车
在一个,如果是Unix/Linux下,一般使用Ctrl+D
再一个可能是,
因为EOF为-1,可能会有些系统把char 默认做unsined char,这样的话,ch就不会接受到-1了,
所以很多人也会将char ch 换作 int ch;
顶啊,getchar返回的是int类型,应该int ch;声明
[/Quote]
这和int,char 没关系,至少屏幕上总会显示吧
novice2008
2009-02-13
打赏
举报
回复
eclipse CTRL-Z是撤销,CTRL-Y是前进
现在能前进不能撤销。。。
也不是键盘问题,这是怎么回事呢。。。。
wyswyg63
2009-02-12
打赏
举报
回复
[Quote=引用 4 楼 icemine 的回复:]
因为getchar()将输入字符放入了线性缓冲区中,所以Ctrl+Z后要回车
在一个,如果是Unix/Linux下,一般使用Ctrl+D
再一个可能是,
因为EOF为-1,可能会有些系统把char 默认做unsined char,这样的话,ch就不会接受到-1了,
所以很多人也会将char ch 换作 int ch;
[/Quote]
顶啊,getchar返回的是int类型,应该int ch;声明
waizqfor
2009-02-12
打赏
举报
回复
[Quote=引用 8 楼 novice2008 的回复:]
我特地去下个TC,换了键盘试试,还是这样,这是怎么回事
[/Quote]
都换键盘了啊 无奈啊
晕了 我是搞不明白了
novice2008
2009-02-12
打赏
举报
回复
我特地去下个TC,换了键盘试试,还是这样,这是怎么回事
waizqfor
2009-02-12
打赏
举报
回复
[Quote=引用 6 楼 novice2008 的回复:]
引用 5 楼 waizqfor 的回复:
我刚才试了下LZ的程序 不可能没有^Z的符号啊
难道LZ是linux下的吗 如果是的话 那就ctrl+D 解决
不是LINUX,会不会是程序以外的问题?我以前完全可以用的呀
[/Quote]
估计是 我从来没有你这样的事 不行装下编译器吧 我刚才都是拿VC6给你实验的 没啥问题
novice2008
2009-02-12
打赏
举报
回复
[Quote=引用 5 楼 waizqfor 的回复:]
我刚才试了下LZ的程序 不可能没有^Z的符号啊
难道LZ是linux下的吗 如果是的话 那就ctrl+D 解决
[/Quote]
不是LINUX,会不会是程序以外的问题?我以前完全可以用的呀
waizqfor
2009-02-12
打赏
举报
回复
我刚才试了下LZ的程序 不可能没有^Z的符号啊
难道LZ是linux下的吗 如果是的话 那就ctrl+D 解决
冰矿
2009-02-12
打赏
举报
回复
因为getchar()将输入字符放入了线性缓冲区中,所以Ctrl+Z后要回车
在一个,如果是Unix/Linux下,一般使用Ctrl+D
再一个可能是,
因为EOF为-1,可能会有些系统把char 默认做unsined char,这样的话,ch就不会接受到-1了,
所以很多人也会将char ch 换作 int ch;
na2650945
2009-02-12
打赏
举报
回复
学习了。
Claude
2009-02-12
打赏
举报
回复
up……
waizqfor
2009-02-12
打赏
举报
回复
[Quote=引用楼主 novice2008 的帖子:]
#include <stdio.h>
int main()
{
char ch;
while((ch = getchar()) != EOF)
putchar(ch);
return 0;
}
为什么我输入CTRL+Z没反应呢?连屏幕上显示^z都没有
[/Quote]
LZ ctrl+z 再按回车
关于
EOF
是什么
C语言新手小白关于
EOF
的困惑
问题
解决
关于
EOF
的那点事
然而,几乎所有的此类
问题
都体现了提问者对
EOF
这个概念的完全误解。本文章试着解释这个令人迷惑的
问题
。 辟谣!
EOF
字符 初学者对
EOF
的第一个误解就是“
EOF
字符” — 简单地说,总有人觉得
EOF
是一个字符,实际上“
EOF
...
关于
EOF
(文件结束符)
问题
的体会
最近写了些代码,在对文件的操作中发现了很经典的
EOF
问题
,呵呵。
EOF
,即end of file,文件结尾,作为文件结束的标志,在程序中常作为判断的一个标志。但在我们平常的程序中却常发生意想不到的结果。 ...
【文件IO】
EOF
问题
由于博主本身技术水平限制,文章中的
问题
漏洞还请批评指出
EOF
不是一个特殊字符,是一个宏定义的值 有人认为
EOF
是文件的最后一个字符,表示文件结束。实际上
EOF
只是一个值。在某些系统中,的确有这种表示文件结束的...
关于
EOF
EOF
(End of File),是ASCII码中的替换字符(Control-Z,代码26)。
EOF
不是特殊字符,而是定义在<stdio.h>中的一个常量,一般等于-1。#define
EOF
(-1) 以
EOF
作为文件结束标志的文件,必须是文本文件。在...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章