牛骨文教育服务平台(让学习变的简单)
博文笔记

C指针操作——获取有分隔符字符串里的指定字符

创建时间:2016-05-05 投稿人: 浏览次数:1952

 获取"11,22,33;44,55,66;77,88,99"字符串中被“,”号隔开的每一个字符串

#include<string.h>

#include<stdio.h>
void main()
{
    char quick_dial_code[64]={0};
    char vanity[32]={0};
    char path[64]="11,22,33;44,55,66;77,88,99";
    char number[64] = {0};
    char *p = NULL;
    char *q = NULL;
    char *m = NULL;

    char phone_list[64] = {0};


    m=strtok(path, ";");
    while(m != NULL)
    {
        strncpy(phone_list, m, 64);
        p= strstr(phone_list, ",");
       if(p!=NULL)
       {
           strncpy(quick_dial_code, phone_list, p-phone_list);
           printf("quick_dial_code=%s ",quick_dial_code);
           q=strstr(p+1, ",");
           if(q!=NULL)
           {
               strncpy(vanity, p+1, q-p-1);
               printf("vanity=%s ",vanity);
               strncpy(number, q+1, 64);
               printf("number=%s ",number);
          }
         else
         {
              printf("Can"t find , in %s ",p);
         }
     }
     else
     {
          printf("Can"t find ; in phone list %s ",phone_list);
     }
    m = strtok(NULL, ";");
 }


}

                                                              
运行结果为:
quick_dial_code=11
vanity=22
number=33
quick_dial_code=44
vanity=55
number=66
quick_dial_code=77
vanity=88
number=99
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。