十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你自己写一个函数不就可以实现了。一个一个字符依次检测,遇到逗号之前的存入一个数组,遇到逗号后又存入另一个数组,这样依次进行。
创新互联专注于亚东企业网站建设,响应式网站设计,成都商城网站开发。亚东网站建设公司,为亚东等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
strtok这么好用为什么要自己写一个呢?
逗号不是运算符号的,只是分割语句或参数的
比如图中:
int x,y,z;
逗号表示一种并列关系,三个变量都是整形的
x=3;y=3;z=1;
三个赋值语句,不要单纯的当做数学里的等号,要理解成=是一种操作符,表示右侧的值赋值给左边
最后一句printf("%d,%d,%d",...,...,...)
这里,printf是一个函数,一个函数就有输入,有输出,输入可以是多个,逗号就是分割多个输入的
printf本身是格式化输出,引号中表示输出格式,%d的位置就是一个整形数值,对应函数后面相应位置参数的值,其他字符都会保留的,也就是输出里逗号的来源。
先将所有的读进来存在一个字符串中,然后用字符分割函数strtok()//具体可参见API
例如:
char str[] = "now # is the time for all # good men to come to the # aid of their country";
char delims[] = "#";
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
printf( "result is \"%s\"\n", result );
result = strtok( NULL, delims );
}
以上代码的运行结果是:
result is "now "
result is " is the time for all "
result is " good men to come to the "
result is " aid of their country"
#includeiostream
#includevector
#includesstream
usingnamespacestd;
intmain()
{
strings;
vectorintv;
cins;
//将读入的字符串转化成is流
istringstreamis(s);
intinter;
charch;
while(isinter)//只能读出is流中的一个整形读进inter
{
v.push_back(inter);
isch;//然后读一个字符型读进ch
}
for(inti=0;iv.size();i++)
coutv[i]"";
coutendl;
return0;
}
扩展资料
C语言的字符串按照指定字符串分割操作
#includestdio.h
#pragmawarning(disable:4996)
#includestdlib.h
intmain()
{
charstr[]="我,是,中国,程序员";
char*ptr;
char*p;
printf("开始前:str=%s\n",str);
printf("开始分割:\n");
ptr=strtok(str,",");
while(ptr!=NULL){
printf("ptr=%s\n",ptr);
ptr=strtok(NULL,",");
}
getchar();
}