zoukankan      html  css  js  c++  java
  • C语言strtok()函数:字符串分割

    头文件:#include <string.h>

    定义函数:char * strtok(char *s, const char *delim);

    函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。

    返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。

    范例

     
     1 #include <string.h>
     2 main(){
     3 char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z";
     4 char *delim = "-: ";
     5 char *p;
     6 printf("%s ", strtok(s, delim));
     7 while((p = strtok(NULL, delim)))
     8 printf("%s ", p);
     9 printf("
    ");
    10 }


    执行结果:
    ab cd ef;gh i jkl;mnop;qrs tu vwx y;z     //-与:字符已经被 字符取代

    公司项目中的应用:

     1 int        CDevNetComm::SplitString( char const*  strSource, std::vector<std::string>& tokens, char* szSeps )
     2 {
     3     tokens.clear();
     4     char    szSource[256];
     5     strcpy( szSource, strSource );
     6     char*    token = strtok( (char*)szSource, szSeps );
     7     while( token != NULL )
     8     {
     9         tokens.push_back( token );
    10         token = strtok( NULL, szSeps );
    11     }
    12     return (int)tokens.size();
    13 }
  • 相关阅读:
    桌面工具集
    运维工具集
    使用Maven插件构建Spring Boot应用程序Docker镜像
    解决Ubuntu 17.10设置面板打不开的问题
    防止Web表单重复提交的方法总结
    深入浅出mybatis之启动详解
    yum方式安装mysql
    在Java中调用Python
    UUID在Java中的实现与应用
    VM克隆后找不到eth0的问题解决
  • 原文地址:https://www.cnblogs.com/shmilxu/p/4835966.html
Copyright © 2011-2022 走看看