EOF问题
为何我按下回车之后,程序没有任何响应,光标总是往下移。EOF是否就等于按回车键? 问题点数:10、回复次数:11Top
1 楼frogking()回复于 2001-05-20 11:23:00 得分 0
不是,你可以编译个程序验证eof的值,再tc2中应该是0吧?Top
2 楼NeoAnderson(Neo)回复于 2001-05-20 13:38:00 得分 0
EOF相应的键盘按键是哪一个呢?Top
3 楼starsoft007(星软)回复于 2001-05-21 18:20:00 得分 0
不要听frogking的EOF的值是-1
可以这样做:
printf("%d",EOF);
试一试?Top
4 楼Nicrosoft(奈软)回复于 2001-05-21 18:51:00 得分 0
EOF是End of File,而不是回车Top
5 楼norzss(zss)回复于 2001-05-21 19:18:00 得分 0
是的,是文件结束标识Top
6 楼jww330(追意)回复于 2001-05-21 19:58:00 得分 0
EOF应该是控制文档的输入吧。当输入为-1时表示文档输入结束反回运行结果。Top
7 楼whhif(Phenix)回复于 2001-05-21 21:04:00 得分 0
对,小伙子,你最好搞清.
Enter在程序中是扩展ascii码
而不是一个宏,
EOF在c头文件中有定义,
或你可用程序验证.Top
8 楼ferocityAngel(炽天使)回复于 2001-05-22 08:42:00 得分 0
ctrl-DTop
9 楼qiang312(小强)回复于 2001-05-22 08:57:00 得分 0
有没有将while(!Eof())写成while(Eof())了,我试过因为这小错程序没有反应(I am so cheap)Top
10 楼ed9er(始祖鸟)回复于 2001-05-22 09:07:00 得分 10
EOF不是一个字符,它只是get(c++里istream的get,在c里要么是getch)用来做为返回值表示文件结束或者是出错,这也就是为什么get和getch返回int,而不是返回char
当istream是stdin的时候,dos下是用F6(ctrl + Z)来解释为结束(这个F6也不是EOF,只是被dos解释为输入结束,从而你的程序中的getch会得到个-1,也就是EOF),如果是文件的话,读到最后自然就结束Top
11 楼NeoAnderson(Neo)回复于 2001-05-27 18:15:00 得分 0
EOF在DOS下用F6(ctrl + Z)来解释,那在LINUX下呢? 其它系统又如何?Top




