> 时,它给了我 "abc"。如何获得剩余的字符串:"gg rrr-6ren">
gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 12:49:45 26 4
gpt4 key购买 nike

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

当我在那个 stringstream 变量上使用 >> 时,它给了我 "abc"。如何获得剩余的字符串:"gg rrr ff"?似乎 str()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;
}

输出:

abc
gg rrr ff

演示:http://www.ideone.com/R4kfV

有一个重载的 std::getline 函数,其中第三个参数带有一个分隔符,您可以在该分隔符上读取字符串。查看std::getline的文档:

关于c++ - 从 sstream 变量中提取字符串后,如何获取剩余的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com