0

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

    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
4

2 回答 2

0

摆脱

cin >> text;.

那个会消耗您输入的第一个单词,将其读入text,然后您通过text在下一行中覆盖来丢弃它。

于 2013-09-08T16:05:07.423 回答
0

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

cin >> text;
于 2013-09-08T16:06:17.887 回答