c语言 将一个字符串数组分成几个数组

2024-12-28 17:41:18
推荐回答(3个)
回答1:

str是个字符串数组的吧,不能按照lz的那种定义方法。
可以:char *str[]={"2000/01/02,3.5,5.5",
"2001/01/02,2.5,6.6"}
您貌似是要将日期和后面的分开,这样的话','(逗号)就是标志,可以作为你的循环的条件。
int counter=0;
int i=0;
while(i{
counter=0;
while(counter!=',')
{//复制}
while(str[i][counter]!='\0')
{//复制}
i++;
}

回答2:

c 语言编写
#include
void main()
{char *str[]={"2000/01/02,3.5,5.5","2001/01/02,2.5,6.6"};//当要保存几个字符串是要定义指针数组*str[]来存放每个字符串的首地址 像char str[]={"I love china"}
char *str1[] ;double str2[][2];//是两行两列的
char *p1,*p2 ,*p3; int i,j=0;
p1=str[0]; p2=str[1];
while(*p1!=",")
p1++
*p1="\0";
while(*p2!=",")
p1++
*p2="\0";

for(i=0;i<=1;i++)
str1[j++]=str[i];
p3=str2;
p3=p1;
p3++=p2;
for(i=0;i<1;i++)
printf("%s\n",*(str1+i));
for(i=0;i<1;i++)
for(j=0;j<1;j++)
printf("%d",str2[i][j]);
}
}

回答3:

#include
#include
using namespace std;
int main()
{
string str[2]={"2000/01/02,3.5,5.5","2001/01/02,2.5,6.6"};
string str1[2];
str1[0]=str[0].substr(0,10);
str1[1]=str[1].substr(0,10);
string str2[2];
str2[0]=str[0].substr(11,18);
str2[1]=str[1].substr(11,18);

cout<cout<}