按空格难度拆分字符串

Splitting string by spaces difficulty

本文关键字:拆分 字符串 空格      更新时间:2023-10-16

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

    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

假设你想从解析字符串传递到std::istringstream中打印整行,你应该删除首先阅读一个单独的单词,即删除该行

cin >> text;

摆脱

cin >> text; .

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