一个输入输出的小程序(新手求助)

renyaoming 2009-01-18 01:04:25
#include<iostream>
using std::cout;
using std::cin;
using std::endl;

#include<string>
using std::string;

#include<conio.h>

int main()
{
string word;
while(cin>>word)
cout<<"The word read is : "<<word<<'\n';
getch();
return 0;
}
为什么该程序一直等待输入?
我用的是Dev
...全文
189 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
waizqfor 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 renyaoming 的帖子:]
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <string>
using std::string;

#include <conio.h>

int main()
{
string word;
while(cin>>word)
cout < <"The word read is : " < <word < <'\n';
getch();
return 0;
}
为什么该程序一直等待输入?
我用的是Dev
[/Quote]
ctrl+z 加回车了
LZ自己阅读下输入输出流的文章 理解一下
gsrdell 2009-01-18
  • 打赏
  • 举报
回复
ctrl+z,流没有运行结束,循环退出了
xxp27 2009-01-18
  • 打赏
  • 举报
回复
先按回车在按ctrl+z
ysysbaobei 2009-01-18
  • 打赏
  • 举报
回复
lann64 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 renyaoming 的回复:]
那为什么按下输入也不行
aa bb cc^z

输出结果是
aa
bb

cc
然后又等着输入了
[/Quote]
回车以后再输入ctrl+z。
lann64 2009-01-18
  • 打赏
  • 举报
回复
while(cin>>word) //这里是对cin的状态进行判断,正常情况是true值,可以循环进行读入。
要想退出循环,得想办法让cin的状态成false。只要failbit,Eofbit,badbit三种状态,有一种
情况发生,对应状态位被置位,循环就终止了。
ctrl+z就是置位Eofbit的。
qkhhxkj102 2009-01-18
  • 打赏
  • 举报
回复
不好说,帮顶下
renyaoming 2009-01-18
  • 打赏
  • 举报
回复
那为什么按下输入也不行
aa bb cc^z

输出结果是
aa
bb

cc
然后又等着输入了
OenAuth.Net 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaoyisnail 的回复:]
引用 3 楼 renyaoming 的回复:
引用 1 楼 baihacker 的回复:
ctrl + z


why?


读到这个时,说明流到达末尾,cin流状态为失效,从而退出循环

补充:windows下是ctrl-z,linux下是ctrl-d
[/Quote]

UP
xiaoyisnail 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 renyaoming 的回复:]
引用 1 楼 baihacker 的回复:
ctrl + z



why?
[/Quote]

读到这个时,说明流到达末尾,cin流状态为失效,从而退出循环

补充:windows下是ctrl-z,linux下是ctrl-d
baihacker 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 renyaoming 的回复:]
引用 1 楼 baihacker 的回复:
ctrl + z



why?
[/Quote]
这是EOF,cin>>中读入 EOF就处于出错状态

转为对应的bool型就是false.
renyaoming 2009-01-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
ctrl + z
[/Quote]


why?
xiaoyisnail 2009-01-18
  • 打赏
  • 举报
回复
输入结束后按“ctrl-z”结束输入
baihacker 2009-01-18
  • 打赏
  • 举报
回复
ctrl + z

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧