标题:原来我有38个可用分,追加一下。问题:清空输入流的问题
取消只看楼主
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
结帖率:100%
已结贴  问题点数:20 回复次数:3 
原来我有38个可用分,追加一下。问题:清空输入流的问题
清空输入流的问题
    string s;
    cin>>s;
    cout<<s<<endl;
    system("pause");
  //  cin.clear();
    system("cls");
////////////////////////
    string word;
    while(cin>>word)
    {
        cout<<word<<endl;
    }
    system("pause");
对于s,我输入的是:hello  world,根据c++中string类型的特点,第一个cout输出的是hello,由于hello和world之间的空格,所以world在这步不输出
对于string word,比如我输入的是:hdsj  a dh ad ,那么结果也应该在把这些字符串输出一遍。可是输出的结果在最开始多了一个world(hello world中的world),我知道有这个world是肯定的,所以就想先将输入流清除一下,于是用了cin.clear(),可还是不行,我现在有点不知道怎么弄了,求高手帮忙。我记得好像不是很复杂吧
谢谢了~~
搜索更多相关主题的帖子: word system 字符串 hello 
2012-02-04 12:05
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
得分:0 
回复 3楼 lz1091914999
额。。。是这样的,这段代码我原本就是想检验一下“string类型的输入操作符读取并忽略开头所有的空白字符,读取字符直至再次遇到空白字符时读取终止”这句话,所以我就用“   hello world”这个试了一下。
等我试玩后,我又联想着写了下面那段代码,针对这段代码,我又写了一段输入,结果输出时在前面先把“   hello world”中的那个world输出来了。因此我想清除下输入流,也查到相关知识了,但不太会用,所以想请教一下。
关键:求高手帮我在第一段代码执行完后,清空一下输入流,怎么清除阿!
2012-02-04 13:48
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
得分:0 
回复 2楼 hahayezhe
我明白string的特性。。。。。是我没表达清楚吧,谢谢了~
2012-02-04 13:50
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
得分:0 
谢谢你们哈~~
2012-02-04 14:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-360384-1-1.html




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

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