1、char *strtok(char s[], const char *delim);
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,
2、
#include <string.h>
#include <stdio.h>
int main(void)
{
char input[16] = "abc,d";
char *p;
p = strtok(input, ",");
if (p) printf("%s\n", p);
p = strtok(NULL, ",");
if (p) printf("%s\n", p);
return 0;
}
运行结果:
3、
这是标准用法,在使用之中我发现了一个使用strtok()函数的一个非常灵活的
用法,具体介绍如下:
dh = strtok(szLine, ","); //szLine是以字符数组
bm = strtok(NULL, ","); //从提取dh后的字符串中再次识别“,”进行提取,
x = strtok(NULL, ","); //从提取bm后的字符串中再次识别“,”进行提取,
y = strtok(NULL, "\n"); //从提取x后的字符串中再次识别“,”进行提取,
printf("%s,,%s,%s,\n",dh,y,x);//按照一定的格式,利用printf()函数将结果显示在屏幕中,可以灵活的控制格式
fprintf(qp,"%s,,%s,%s,\n",dh,y,x);//按照一定的格式,利用fprintf()函数将结果存放在文本中,可以灵活的控制格式