| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4722 人关注过本帖
标题:关于 while(getline(cin,line))的问题,
取消只看楼主 加入收藏
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于 while(getline(cin,line))的问题,
#include   <iostream>
#include  <string>  
  
  using namespace std;  
  
  main()   
  { int i=3;
   string   line;   
  while(getline(cin,line))
  {  
  cout<<line<<endl;
  
  }
 cout<<i<<endl;
  
  
  return 0;
  }
 
 
这个程序好像是个死循环,怎么能跳出循环,执行cout<<i<<endl;这句话呢,while是以istream类对象为判断条件的,那不就是遇到结束或是无效输入就跳出循环体吗?那string中,getline不是不能忽略换行符?那回车了,为什么还挑不出来呢?怎么能跳出来啊,就是什么样子才是条件才为假的啊??谢谢
搜索更多相关主题的帖子: line cin 
2009-08-01 14:01
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
收藏
得分:0 
回复 2楼 pangding
谢谢2楼,但是也是不行的,我输入结束符也是不可以的,还是挑不出来,还是被当成有效字符了,什么原因呢??2楼能试试程序吗?我是VISTA的系统,是不是结束符不一样呢??
2009-08-01 20:59
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
收藏
得分:0 
回复 6楼 pangding
谢谢各位,我用的也是VC6.0,可是我输入一行文字以后,输入几次结束符都没有用,要按回车输出文字以后,然后输入结束符,要按超过好几次,就是说要回车几次,每次回车都输入结束符,才能跳出循环。。。。请问5楼,两次你就跳出循环了吗啊?你是在输入文字以后输入结束符吗??
2009-08-02 12:33
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
收藏
得分:0 
回复 8楼 leeco
输入几次ctrl+z啊,VISTA难道和XP的不一样吗?
2009-08-02 15:09
sadan20111
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2009-8-1
收藏
得分:0 
回复 10楼 leeco
谢谢,恩,要首行输入,是不是和输入缓冲区有关系吧。当getline()输入遇到换行符停止输入的时候,那'\n'会留在缓冲区吗?还是被自动清空了呢??
2009-08-03 09:17
快速回复:关于 while(getline(cin,line))的问题,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved