C语言中关于ctrl+Z的问题

#include<stdio.h>#include<stdlib.h>main(){FILE*f1;charc;if((f1=fopen("Robin.txt","w")... #include<stdio.h>
#include<stdlib.h>
main()
{ FILE *f1;
char c;
if((f1=fopen("Robin.txt","w"))==0)
{ printf("Wrong!\n");
exit(0);
}
c=getchar();
while(c!=EOF)
{ fputc(c,f1);
c=getchar();
}
fclose(f1);
}

第一次输入aaa ctrl-z bbb ctrl-z回车
再次输入ccc ctrl-z回车
最后输入ctrl-z回车
发现只有单独输入ctrl-z的时候他才被getchar()读入了,而前面的ctrl-z只是使其后面的输入不被读入,这是为什么?请高手帮帮忙
WINDOWS VC6.0
展开
 我来答
匿名用户
推荐于2016-11-25
展开全部
不存在你描述的现象,第一个CTRL+Z就可以结束while循环。

大哥,我看到这个问题后,不敢相信自己的耳朵和眼睛,所以分别在WINDOWS SERVER + CGB /UBUNTU 9.10+ GCC中分别做了测试,才让我放心,请问你的测试环境是什么?你的测试过程又是怎样的?

****************************************************

原来是VC++6.0他老人家呀,由于它的许多地方不符合标准,我都快要忘记它了!如果是VC++,那么就要求^z之前只能有一个回车符(也就是说必须出现在当前行的第一个位置),否则会按一般字符读取。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式