c++中spilt函数的用法
时间: 2023-07-08 07:09:22 浏览: 202
在C++中,没有split函数可以直接使用,但可以借助其他函数或库实现字符串分割功能。以下是两种实现方式:
1. 使用stringstream库
stringstream是C++中的一个流库,可以将字符串转化为流进行处理。可以通过设置分隔符,将一个字符串分割为多个子字符串。示例代码如下:
```c++
#include <iostream>
#include <sstream>
#include <vector>
int main() {
std::string str = "apple,banana,orange";
std::vector<std::string> result;
std::stringstream ss(str);
std::string item;
char delim = ','; // 分隔符
while (std::getline(ss, item, delim)) {
result.push_back(item);
}
for (const auto& s : result) {
std::cout << s << std::endl;
}
return 0;
}
```
2. 使用boost库
boost是一个C++库,提供了许多实用的函数和类。其中boost::split函数可以帮助我们快速实现字符串分割功能。示例代码如下:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>
int main() {
std::string str = "apple,banana,orange";
std::vector<std::string> result;
char delim = ','; // 分隔符
boost::split(result, str, boost::is_any_of(std::string(1, delim)), boost::token_compress_on);
for (const auto& s : result) {
std::cout << s << std::endl;
}
return 0;
}
```
以上两种方式都可以实现字符串分割功能,使用哪种方式取决于具体情况和个人喜好。
阅读全文