C语言字符串组成和分割问题
现在有a,b,c,d,e五个数字,a=10b=20c=30d=40e=50,先将他们组成一个用逗号分割的字符串,就是10,20,30,40,50之后再讲这个字符串按照分隔...
现在有 a,b,c,d,e五个数字,a=10 b=20 c=30 d=40 e=50,先将他们组成一个用逗号分割的字符串,就是10,20,30,40,50
之后再讲这个字符串按照分隔符再分开,然后赋值,使最后得到的结果是
f=10 g=20 h=30 i=40 k=50 展开
之后再讲这个字符串按照分隔符再分开,然后赋值,使最后得到的结果是
f=10 g=20 h=30 i=40 k=50 展开
展开全部
组成字符串的办法很简单:
char buf[100];
sprintf(buf, "%d,%d,%d,%d,%d", a, b, c, d, e);
这样buf数组中就存得是"10,20,30,40,50"这个字符串了。
想分开的话,定义一个指针p,让这个指针从buf[0] 开始指,让p ++,每次直到逗号的时候就跳出,如果不是逗号的话,就将当前指针指向的这个值放到另一个字符数组buf1中,最后将buf1转成数字,用atoi函数,这时候会得到这个数1020304050,用这个数对100取余。得到50,然后除以100再对100取余,得到40,同理,就会得到相应的数字了,把这些数字存入相应的变量就行。
不明白继续追问
char buf[100];
sprintf(buf, "%d,%d,%d,%d,%d", a, b, c, d, e);
这样buf数组中就存得是"10,20,30,40,50"这个字符串了。
想分开的话,定义一个指针p,让这个指针从buf[0] 开始指,让p ++,每次直到逗号的时候就跳出,如果不是逗号的话,就将当前指针指向的这个值放到另一个字符数组buf1中,最后将buf1转成数字,用atoi函数,这时候会得到这个数1020304050,用这个数对100取余。得到50,然后除以100再对100取余,得到40,同理,就会得到相应的数字了,把这些数字存入相应的变量就行。
不明白继续追问
展开全部
#include <stdio.h>
int main()
{
int a,b,c,d,e;
int f,g,h,i,k;
char buf[20];
a = 10;
b = 20;
c = 30;
d = 40;
e = 50;
sprintf(buf,"%02d,%02d,%02d,%02d,%02d",a,b,c,d,e);
sscanf(buf,"%d,%d,%d,%d,%d",&f,&g,&h,&i,&k);
getchar();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-08-12
展开全部
#include<sstream>
#include<iostream>
#include<string>
using naemspace std;
int main()
{
int i;
int a[5];
string temp,str;
stringstream ss;
for(i=0;i<5;i++)
{
ss<<a[i];
ss>>temp;
if(i<4)
temp+=',';
str+=temp;
ss.clear();
}//////////////////str=10,20,30,40,50
int b[5];
for(i=0;i<5;i++)
{
ss<<str[2*i];
ss>>b[i];
ss.clear();
}
return 0;
}
完成!!!
其实这道题最好用sscanf,你可以百度一下~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询