阅读量:0
strtok_r
是一个 C 语言库函数,用于将字符串分割成一系列的标记
#include<iostream> #include<string> #include<vector> std::vector<std::string> split(const std::string& str, char delimiter) { std::vector<std::string> tokens; std::size_t start = 0; std::size_t end = str.find(delimiter); while (end != std::string::npos) { tokens.push_back(str.substr(start, end - start)); start = end + 1; end = str.find(delimiter, start); } tokens.push_back(str.substr(start, end)); return tokens; } int main() { std::string input = "Hello,World,This,Is,A,Test"; char delimiter = ','; std::vector<std::string> tokens = split(input, delimiter); for (const auto& token : tokens) { std::cout<< token<< std::endl; } return 0; }
这个示例中的 split
函数接受一个字符串和一个分隔符作为参数。它使用 std::string::find
方法查找分隔符在字符串中的位置,并将找到的子字符串添加到 tokens
向量中。最后,它返回包含所有子字符串的向量。
在 main
函数中,我们使用逗号作为分隔符将输入字符串分割成多个子字符串,并将结果打印到控制台。