实现C++字符串分割的strtok_r方法

   2024-09-30 6320
核心提示:strtok_r 是一个 C 语言库函数,用于将字符串分割成一系列的标记#includeiostream#includestring#includevectorstd::vectorstd::

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 函数中,我们使用逗号作为分隔符将输入字符串分割成多个子字符串,并将结果打印到控制台。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号