头文件:#include <string.h>
定义函数:char * strtok(char *s,const char *delim);
函数说明:strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
范例
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- int i;
- char *data[4];
- char str[]="data0|data1|data2|data3";
- char *delim = "|";
- char *p;
- data[0] = strtok(str,delim);
- for(i=1; (p = strtok(NULL,delim)) && i<4; i++)
- data[i] = p;
- for(i=0; i<4; i++)
- printf("%s ",data[i]);
- system("pause");
- return 0;
- }
输出结果为:data0 data1 data2 data3
注意:strtok会破坏原字符串,如果需要保留原字符串可再建一个字符串来保存。当然也可以用sscanf函数来实现