c++ string字符串分割
时间: 2023-07-19 09:36:58 浏览: 186
C++ 中有多种方法可以对字符串进行分割,以下是其中一种常见的方法:
```cpp
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main() {
std::string str = "hello world,how are you?";
std::stringstream ss(str);
std::vector<std::string> tokens;
std::string token;
char delimiter = ',';
while (std::getline(ss, token, delimiter)) {
tokens.push_back(token);
}
tokens.push_back(ss.str().substr(ss.tellg()));
for (const auto& t : tokens) {
std::cout << t << std::endl;
}
return 0;
}
```
这个例子使用了 stringstream 和 vector 两个 STL 容器,首先将字符串放入 stringstream 中,然后使用 getline 函数以 ',' 为分隔符对字符串进行分割,并将每个子字符串存入 vector 中,最后输出每个子字符串。
需要注意的是,最后一个子字符串需要使用 substr 和 tellg 函数进行特殊处理,否则可能会出现丢失的情况。
阅读全文