#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 中文站