怎么根据一个数组里面对象的值把这个数组分成多个数组
展开全部
可以使用strtok函数把一个字符数组分解成多个字符数组。
1、strtok函数:原型:char *strtok(char s[], const char *delim);功能:将一个字符串分解为一组字符串,s为要分解的字符串,delim为分隔符字符串;说明:当strtok函数在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针;头文件:string.h;返回值:从字符串s开头开始的一个个被分割的字符串。分割结束时,返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。2、例程:
#include<stdio.h>#include<string.h>int main(){ char input[16]="abc,d,ef,g";//待分解字符串 char* delim=",";//分隔符字符串 char* p=strtok(input,delim);//第一次调用strtok while(p!=NULL){//当返回值不为NULL时,继续循环 printf("%s\n",p);//输出分解的字符串 p=strtok(NULL,delim);//继续调用strtok,分解剩下的字符串 } return 0;}
1、strtok函数:原型:char *strtok(char s[], const char *delim);功能:将一个字符串分解为一组字符串,s为要分解的字符串,delim为分隔符字符串;说明:当strtok函数在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针;头文件:string.h;返回值:从字符串s开头开始的一个个被分割的字符串。分割结束时,返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。2、例程:
#include<stdio.h>#include<string.h>int main(){ char input[16]="abc,d,ef,g";//待分解字符串 char* delim=",";//分隔符字符串 char* p=strtok(input,delim);//第一次调用strtok while(p!=NULL){//当返回值不为NULL时,继续循环 printf("%s\n",p);//输出分解的字符串 p=strtok(NULL,delim);//继续调用strtok,分解剩下的字符串 } return 0;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询