strtok函数的用法,c语言中strtok

您所在的位置:网站首页 strtok函数用法例子 strtok函数的用法,c语言中strtok

strtok函数的用法,c语言中strtok

2023-04-08 09:34| 来源: 网络整理| 查看: 265

(一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。

 

1.一个应用实例

网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体

typedef struct person{     char name[25];     char sex[10];     char age[4]; }Person;

需从字符串 char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16"; 中提取出人名、性别以及年龄。

一种可行的思路是设置两层循环。外循环,先以 ',’ (逗号) 为分界符,将三个人的信息分开,然后对于每一个子串,再以 ' ’(空格) 为分界符分别得到人名、性别和年龄。

按照这个思路,理应能够实现所要的功能。为了简化步骤,我们调用strtok,先将子串先一一保存到字符串指针数组中,程序末尾打印指针数组中保存的所有子串,验证程序的正确性。得到的程序应该如下:

int in=0;char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16";char *p[20];char *buf = buffer;while((p[in]=strtok(buf,","))!=NULL) {buf=p[in];while((p[in]=strtok(buf," "))!=NULL) {in++;buf=NULL;}buf=NULL;}printf("Here we have %d strings/n", in);for (int j=0; j



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3