美文网首页
c++中的字符串分割函数

c++中的字符串分割函数

作者: 谁客户 | 来源:发表于2020-04-17 10:55 被阅读0次

'''

char * strtok ( char * str, const char * delimiters );

'''

做华为笔试的时候,前两道都是字符串处理的题,自己拆得心烦,结束了翻官方文档时才发现已经提供了strtok函数来拆分字符串。。。

str是传入的需要拆分的字符串,而delimiters则是拆分的依据,在str中发现包含在delimiters的字符,都会被替换成'\0'。

第一次调用时,需要传入str,之后只需要把传入NULL即可,每次调用成功,返回被分割的第一个字符串指针,如果已经没有可以分割的字符串,则返回NULL。

如果我们想处理string,则需要调用string.c_str()或者string.data()先将string类型转换为const char*,然后再用const_cast去掉const。

因为strtok使用静态变量保存要被分割的字符串,所以它不是线程安全的。线程安全,要使用strtok_s。

'''

int main()

{

    string s{"tom,lily,jerry"};

    char* tmp = nullptr;

    vector<string> vec;

    tmp = strtok(const_cast<char*>(s.data()), ",");

    while (tmp != nullptr){

        vec.push_back(string(tmp, tmp + strlen(tmp)));

        tmp = strtok_s(NULL, ",");

    }

    return 0;

}

'''

相关文章

  • c++中的字符串分割函数

    ''' char * strtok ( char * str, const char * delimiters )...

  • C++ 读取txt,csv文件

    1、C++ 读取txt文件 2、C++ 读取csv文件附上一个分割字符串的功能函数,根据自己情况修改吧

  • split(), reverse(),join()等函数用法

    split()函数,join()函数: split函数是将一个字符串分割成字符串数组。join函数是将数组中的所有...

  • 几种c++字符串split 函数实现的比较

    文中的字符串split函数功能是从字符串中按照特定的分隔符进行分割,分割的结果保存到std::vector中。 1...

  • 分割,合并

    01、分割 strsplit函数:字符串分割函数v <- strsplit(u,"...") #用...将字符分开...

  • PHP字符串处理函数

    字符串长度函数 字符串替换函数 截取字符串函数 分割、连接、反转函数 空白处理函数 字符转义函数 字符串比较函数

  • 使用boost::split_iterator进行字符串分割

    代码非常简单,实际上就是根据一个分割字符串组合,来返回分割后的字符串列表。在C++中,实际返回一个iterator...

  • 字符串

    字符串的实现(C++实现) 实现字符串的构造及其常用的接口函数,深入掌握理解字符串的实现 C++ / STL 中s...

  • 【21】c# split函数使用

    split函数的作用是用来分割字符串,通常我们采用的是用什么字符来分割字符串,以达到获取我们想要的字符串,函数的返...

  • 字符串

    C++提供了两种字符串的表示形式: C风格字符 C++引入的string类型 C风格 函数 C++中的String类

网友评论

      本文标题:c++中的字符串分割函数

      本文链接:https://www.haomeiwen.com/subject/wdqevhtx.html