【问题标题】:Splitting string by spaces difficulty按空格难度拆分字符串
【发布时间】:2013-09-08 16:01:17
【问题描述】:

我的代码正在运行,除了一个问题,当我运行它时,它似乎没有返回第一个字符串。

    string text;
    cin >> text;
    getline(cin ,text);
    istringstream  iss(text);
    copy(istream_iterator<string>(iss),
            istream_iterator<string>(),
            ostream_iterator<string>(cout, "\n"));

所以如果我的输入是bf "ing" filename,它只会输出:

"ing" 
filename

我想要它,这样它就可以像这样输出整行:

bf 
"ing"
filename

【问题讨论】:

    标签: c++ string iterator getline istringstream


    【解决方案1】:

    假设您希望通过解析传递给std::istringstream 的字符串打印整行,您应该删除首先读取一个单独的单词,即删除该行

    cin >> text;
    

    【讨论】:

      【解决方案2】:

      摆脱

      cin &gt;&gt; text;.

      那个人使用您输入的第一个单词,将其读入text,然后您通过覆盖下一行中的text 将其丢弃。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-17
        • 1970-01-01
        • 2017-06-18
        • 2015-09-14
        • 2015-11-26
        相关资源
        最近更新 更多