读书人

求教关于字符数组分割字符串的算法有关

发布时间: 2013-03-14 10:33:15 作者: rapoo

求教关于字符数组分割字符串的算法问题
有一个字符数组

内容可以能是ZZZ|XXX|YYY
也有可能是XXX|YYY
XXX和YYY的不一定有多长,可能是X|Y也有可能是XX|YY

我要把XX提取到字符数组A,再把YY提取到字符数组B要怎么做?


int _tmain(int argc, _TCHAR* argv[])
{
XY xy;
char bstr[]="1|2";
char spiritchar='|';
char intX[4]="";
char intY[4]="";
int ArrP=0;
int spiritdetected=0;
for(int i=0;bstr[i]!='\0';i++)
{
if(bstr[i]=='|')
{
spiritdetected++;
continue;
}
if(spiritdetected==0)
intX[ArrP++]=bstr[i];
if(spiritdetected==1)
intY[ArrP++]=bstr[i];
}
xy.x=atoi(intX);
xy.y==atoi(intY);
return 0;
}


写了好久一直没搞定,我这个算法也不对,求正确写法……
[解决办法]

int x = 0;
int y = 0;
int z = 0;

char bstr[]="2
[解决办法]
222
[解决办法]
333";
char *pointer = bstr;
char c = '
[解决办法]
';
x = atoi(pointer = strtok(pointer, &c));
y = atoi(pointer = strtok(NULL, &c));
pointer = strtok(NULL, &c);
if (pointer != NULL)
z = atoi(pointer);

printf("%d %d %d", x,y, z);
return 0;

假定至少有两个

读书人网 >C语言

热点推荐