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()函數將結果存放在文本中,可以靈活的控制格式


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