stringstream按要求分割字符串
时间: 2023-10-12 17:16:10 浏览: 95
可以使用stringstream的getline方法来按要求分割字符串。具体步骤如下:
1. 将要分割的字符串放入stringstream对象中。
2. 使用getline方法按照指定的分隔符将字符串分割成多个子字符串。
3. 将每个子字符串转换为需要的类型,如int、float等。
下面是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string input = "1,2.5,hello,4";
stringstream ss(input);
string token;
while (getline(ss, token, ',')) {
if (token == "hello") {
cout << "Found hello!" << endl;
} else {
float num = stof(token);
cout << num << endl;
}
}
return 0;
}
```
输出结果:
```
1
2.5
Found hello!
4
```
在上面的示例中,我们将字符串"1,2.5,hello,4"放入了stringstream对象ss中,并使用getline方法按照逗号分隔符将字符串分割成多个子字符串。然后我们判断每个子字符串是否为"hello",如果是则输出"Found hello!",否则将子字符串转换为float类型并输出。
阅读全文