有关cin对string输入的一点疑问!

wqy1978 2002-10-14 11:44:16
string text;
while(cin>>text)
cout<<"word is:"<<text<<endl;
cout<<"no word!!!"<<endl;
我怎么样才能cout<<"no word!!!"<<endl;这一句执行啊,书上说cin为false为止,可我不管输入什么后按回车,好像还是在等待输入状态,而执行不到cout<<"no word!!!"<<endl;这一句呀!
...全文
325 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqy1978 2002-10-14
  • 打赏
  • 举报
回复
不可以啊,我试过啦
windyloft 2002-10-14
  • 打赏
  • 举报
回复
直接回车,可以吗?
snowmansh 2002-10-14
  • 打赏
  • 举报
回复
Ctrl + Z, i am sure.
Agree "Solstice", such question has been asked n times.
陈硕 2002-10-14
  • 打赏
  • 举报
回复
Ctrl + Z 或者 Ctrl + D ,总有一个有效:)

这个问题我回答了8次了 :(
陈硕 2002-10-14
  • 打赏
  • 举报
回复
Ctrl + Z 或者 Ctrl + D ,总有一个有效:)

这个问题我回答了8次了 :(
wqy1978 2002-10-14
  • 打赏
  • 举报
回复
int text;
while(cin>>text)
cout<<"word is:"<<text<<endl;
cout<<"no word!!!"<<endl;
但这种情况我就可以执行到 cout<<"no word!!!"<<endl;
是因为是输入的字符串所以才是死循环么,这样为啥cin>>text就可以为false!

hslj 2002-10-14
  • 打赏
  • 举报
回复
源程序的问题,应该在cin后直接判断text是否为空
kxw 2002-10-14
  • 打赏
  • 举报
回复
这个程序一直处于循环等待状态(有点像消息循环) 
------------------------------------------------------------------

C++ is a legend. it change your mind and life! enjoy it!!
mattrew 2002-10-14
  • 打赏
  • 举报
回复
你的程序是个死循环 ,因为cin>>text的返回值不为零
如果真的这样 又想执行下面的语句 那我来满足你 不过不提倡用阿
呵呵#include<iostream>
#include<string>
using namespace std;
void main()
{
string text;
while(cin>>text)
{
cout<<"word is:"<<text<<endl;
goto str;
}
str:
cout<<"no word!!!"<<endl;
int k;
cin >> k;
}
这样你在试试 可以了吧 呵呵

middle 2002-10-14
  • 打赏
  • 举报
回复
cin是basic_istream<char>类型的吧。这个类型的>>返回的是自身的引用,而这个引用是不会为0的。你的源程序有问题。
newgina 2002-10-14
  • 打赏
  • 举报
回复
'/O'
newgina 2002-10-14
  • 打赏
  • 举报
回复
空格+回车
或NULL的ASCII可不可以
试试

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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