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++;
}
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]);
}
}
#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<