1、strtok函数
头文件:#include <string.h>
定义函数:char * strtok(char *s, const char *delim);
函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针,(在delim中我们可以定义多个字符,然后切割的时候每个遇到其中的字符都会切割)
定义函数:char * strtok(char *s, const char *delim);
函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针,(在delim中我们可以定义多个字符,然后切割的时候每个遇到其中的字符都会切割)
2、测试Demo
分割字符串,只要遇到字符'*'或者字符' '都切割
#include <stdio.h>
#include <string.h>int main()
{char s[] = "chen*yu chen cai*feng";char *delim = "* ";char *p = strtok(s, delim);while(p){printf("%s\n", p);p = strtok(NULL, delim);}return 0;
}
3、运行结果
1111deMacBook-Pro:dabian a1111$ gcc -g strtok.c -o strtok
1111deMacBook-Pro:dabian a1111$ ./strtok
chen
yu
chen
cai
feng