strtok

1、char *strtok(char s[], const char *delim);

分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。

例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。
当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,
往后的调用则将参数s设置成NULL。 每次调用成功则返回指向被分割出片段的指针

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()函数将结果存放在文本中,可以灵活的控制格式


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章