如何获取从 sstream 变量中提取字符串后剩余的字符串?

2023-12-23

就像我有一个stringstream变量包含"abc gg rrr ff"

当我使用>>在那stringstream变量,它给了我"abc"。我怎样才能得到剩余的字符串:" gg rrr ff"?看来两者都不是str() nor rdbuf()这行得通吗?


您可以使用std::getline从流中获取字符串的其余部分:

#include <iostream>
#include <sstream>

using namespace std;

int main() {
        stringstream ss("abc gg rrr ff");
        string s1, s2;
        ss >> s1;
        getline(ss, s2); //get rest of the string!
        cout << s1 << endl;
        cout << s2 << endl;
        return 0;
}

Output:

abc
gg rrr ff

Demo : http://www.ideone.com/R4kfV http://www.ideone.com/R4kfV

有一个超载的std::getline函数,其中第三个参数采用分隔符,您可以在该分隔符之前读取字符串。请参阅文档std::getline:

  • std::getline http://www.cplusplus.com/reference/string/getline/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取从 sstream 变量中提取字符串后剩余的字符串? 的相关文章

随机推荐