| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:getline()的困惑,请高手指点!
只看楼主 加入收藏
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
getline()的困惑,请高手指点!
程序就是书中的如下:
程序代码:
#include <iostream>
#include <string>

using namespace std;

int main( )
{
    string s;
    while(getline(cin,s))
        cout<<s<<endl;
return 0;
}

运行后结果如下:
1111
222
1111
33333
222
4444
33333

结果为什么不是:
1111
1111
222
222
33333
33333

请高人指点!

2013-10-03 15:30
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:15 
如果你想要结果是:
1111
1111
222
222
33333
33333

那么程序需要这么写:
    std::string s;
    while (true) {
        std::cin>>s;
        //std::getline(std::cin,s);
        std::cout<<s<<std::endl;
    }
2013-10-03 16:03
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
问题是cin只能读取单个单词,要实现整句读取该怎么做?
2013-10-03 19:30
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
收藏
得分:5 
什么叫实现整句读取?遇到回车,输入流就结束了啊。输入的内容就进入了s中去了。

[ 本帖最后由 blueskiner 于 2013-10-3 20:00 编辑 ]
2013-10-03 19:58
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
cin 一次只能读入一个单词,形如:The sum of 3 and 7 is 10.要8次才能完成。
如用getline 只要一次就读入到一个string对象中。
程序如下:
程序代码:
#include <iostream>
#include <string>

using namespace std;

int main( )
{
    int i=0;
    string s;
    cout<<"这里是用cin:"<<endl;
    while(i!=8)
    {
        cin>>s;
        i++;
        cout<<i<<" "<<s<<endl;
    }
    i=0;
    cout<<"这里是用getline:"<<endl;
    while(getline(cin,s))
    {
        i++;
        cout<<i<<" "<<s<<endl;
    }
return 0;
}


[ 本帖最后由 heroinearth 于 2013-10-5 08:39 编辑 ]
2013-10-05 08:23
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
问题已经找到,是VC6.0的问题,现换成2005版本。
2013-10-06 00:35
快速回复:getline()的困惑,请高手指点!
数据加载中...
 
   



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

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