#include <iostream>
#include <sstream>
#include <vector>
// 定义一个函数,用于分割字符串
std::vector<std::string> split(const std::string& str, char delimiter) {
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(str);
while (std::getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string text = "This,is,a,test";
char delimiter = ',';
std::vector<std::string> words = split(text, delimiter);
for (const auto& word : words) {
std::cout << word << std::endl;
}
return 0;
}
split 函数:该函数接受两个参数,一个是需要分割的字符串 str,另一个是分隔符 delimiter。它使用 std::istringstream 来读取字符串,并通过 std::getline 按照指定的分隔符将字符串分割成多个子字符串,存储在 std::vector<std::string> 中返回。
main 函数:在主函数中,定义了一个包含逗号分隔的字符串 text 和分隔符 delimiter。调用 split 函数进行分割,并将结果存储在 words 向量中。最后,遍历 words 并输出每个分割后的子字符串。
std::istringstream:这是一个用于从字符串中读取数据的类,类似于文件流或标准输入流。它使得我们可以像处理文件或标准输入那样处理字符串。
std::getline:这个函数可以从流中读取一行文本,直到遇到指定的分隔符(在这个例子中是逗号),并将读取的内容存储到字符串中。
下一篇:c++中const的用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站