方法一:采用 strtok() 函数

声明

下面是 strtok() 函数的声明。
char strtok(char str, const char *delim)

参数

  • str — 要被分解成一组小字符串的字符串。
  • delim — 包含分隔符的 C 字符串。

    返回值

    该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。

    实例

    下面的实例演示了 strtok() 函数的用法。

    实例

    ```c

    include

    include

int main () { char str[80] = “This is - www.runoob.com - website”; const char s[2] = “-“; char *token;

/ 获取第一个子字符串 / token = strtok(str, s);

/ 继续获取其他的子字符串 / while( token != NULL ) { printf( “%s\n”, token );

  1. token = strtok(NULL, s);

}

return(0); }

  1. <a name="NPUtY"></a>
  2. ## 方法二:C语言实现split
  3. ```c
  4. #include<stdio.h>
  5. #include <string.h>
  6. int split(char *str, const char *delim, char dst[][80]) {
  7. char *s = strdup(str);
  8. char *token;
  9. int n = 0;
  10. for(token = strsep(&s, delim); token != NULL; token = strsep(&s, delim)) {
  11. strcpy(dst[n++], token);
  12. }
  13. return n;
  14. }
  15. int main(void) {
  16. char source[] = "hello, world! welcome to china!";
  17. char delim[] = " ,!";
  18. char dst[10][80];
  19. int cnt = split(source, delim, dst);
  20. for (int i = 0; i < cnt; i++)
  21. printf("%s\n",dst[i]);
  22. return 0;
  23. }

参考文献