首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用字符串打印输出矢量

问使用字符串打印输出矢量
EN

Stack Overflow用户
提问于 2013-02-26 06:42:10
回答 2查看 1.5K关注 0票数 1

我有下面的代码。代码后面是一个输入文件示例。当我去cout数组时,它是这样做的:

输出:

代码语言:javascript
复制
Joe
Browns
93
Samantha
Roberts
45

为什么字符串只读到空格,然后继续?我以为字符串接受空格?谢谢。

代码:

代码语言:javascript
复制
    ifstream in_stream;

    in_stream.open("in.dat");
    if(in_stream.fail())
    {
        cout<< "Input file opening failed.  \n";
        exit(1);
    }
    vector <string> a;
    int i = 0;
    string dummy;
    while(in_stream>>dummy)
    {
       a.push_back(dummy);
       cout<<a[i]<<endl;
        i++;
    }
    in_stream.close( );

示例输入文件:

代码语言:javascript
复制
Joe Browns
93
Samantha Roberts
45
EN

回答 2

Stack Overflow用户

发布于 2013-02-26 06:43:31

operator>>将任何类型的空格解释为分隔符。如果需要读取整行内容,请使用getline()。

票数 1
EN

Stack Overflow用户

发布于 2013-02-26 06:46:39

更改while循环,以便读取整行内容。

代码语言:javascript
复制
while (getline(in_stream, dummy))
{
    a.push_back(dummy);
    cout << a[i] << endl;
    i++;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15077932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档