strtok函數實現與應用

來源:互聯網
上載者:User

轉自:http://blog.csdn.net/ast_224/article/details/3977311

strtok:
#include <string.h>
char *strtok(char *str, const char *delim);
char *strtok_r(char *str, const char *delim, char **saveptr);
功能:分解字串為一組標記串。str為要分解的字串,delim為分隔字元字串。
說明:首次調用時,str必須指向要分解的字串,隨後調用要把s設成NULL。
      strtok在str中尋找包含在delim中的字元並用NULL('/0')來替換,直到找遍整個字串。
      返回指向下一個標記串。當沒有標記串時則返回Null 字元NULL。
執行個體:用strtok來判斷ip地址是否合法:ip_strtok.c:

[c-sharp]  view plain copy //ip_strtok.c   #include <stdio.h>   #include <string.h>   int main(int argc, char **argv)   {      char temp_buf[100] = {};      char p_temp[100];      char *p=NULL;      char *t = ".";      int m,n,i;      int j=0,s=0;            if(argc!=2)      {        printf("param must 2/n");        return -1;      }      strcpy(temp_buf, argv[1]);      for(i=0; i<strlen(temp_buf);i++)      {         if(temp_buf[i] == *t)j++;        if(temp_buf[i] == *t && (temp_buf[i+1]>='0'&&temp_buf[i+1]<='9'))        {          s++;        }      }      if(j!=3 || j!=s)      {        printf("ip param format error/n");        return -1;      }      p = strtok(temp_buf, t);            while(p!=NULL)      {         strcpy(p_temp, p);         printf("%s /n", p_temp);         for(n=0; n<strlen(p_temp);n++)         {           if(!(p_temp[n]>='0'&&p_temp[n]<='9'))           {             printf("ip param error/n");             return -1;           }         }                  m = atoi(p_temp);         if(m>255)         {           printf("ip invalid /n");           return -1;         }                  p=strtok(NULL, ".");         printf("p = %s/n",p);      }      printf("ok

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.