c++有一个string类型的字符串,例如“202211 张飞 77 88”我如何将77单独取出来
时间: 2024-02-25 17:59:20 浏览: 46
如果你想要取出字符串中所有的 "77",你可以使用 string 类型的 stringstream 和 getline() 函数结合起来实现。具体地,你可以将字符串转换为 stringstream 对象,然后使用 getline() 函数逐行读取,将每行字符串分割成多个子字符串,再进行比较和处理。
下面是示例代码:
```
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string str = "202211 张飞 77 88";
stringstream ss(str);
string line;
while (getline(ss, line, ' ')) {
// 将每行字符串分割成多个子字符串
stringstream sub_ss(line);
string sub_str;
while (sub_ss >> sub_str) {
if (sub_str == "77") {
cout << sub_str << endl; // 输出 "77"
}
}
}
return 0;
}
```
在上述代码中,首先将字符串转换为 stringstream 对象,然后使用 getline() 函数逐行读取。在每行字符串中,使用 stringstream 对象将其分割成多个子字符串,并逐个比较是否为 "77",如果是,就将其输出。
需要注意的是,上述代码假设每个子字符串之间以空格作为分隔符,如果实际情况不是这样,需要相应地修改代码。
阅读全文