java中经常用到split方法,c中要自己实现,split干嘛用的我就不说了不了解的同学百估一下吧,不说直接上源码:
/*
参数:
parent 要分割的对象字符串
div 分隔符
index 分割后需要返回索引
val 返回对于索引字符串
返回值
0成功-1失败
*/
int strSplit(char * parent,char div,int index,char * val)
{
char * pp,*p0,*p1;
p0=parent;
pp=parent-1;
if(index<0)
{
return -1;
}
do{
p1=pp+1;
pp=strchr(p0,div);
if(NULL==pp)
{
if(0==index)
{
strncpy(val,p0,strlen(p0));
return 0;
}
else
{
return -1;
}
}
p0=pp+1;
}while((--index>=0)&&(pp!=NULL));
if(pp==NULL)
return -1;
strncpy(val,p1,pp-p1);
val[pp-p1]=0;
return 0;
}
另外两个处理空格函数
/*删除空格*/
void delspace(char *p1)
{
char *p2;
while (*p1 != '\0' )
{
if (*p1 == ' ')
{
p2 = p1;
while(*p2 != '\0')
{
*p2 = *(p2+1);
p2++;
}
p1--;
}
p1++;
}
}
/*多个空格只保留一个空格做为间隔*/
void delspaceEx(char *p1)
{
char *p2;
int flag =0;
while (*p1 != '\0' )
{
if (*p1 == ' ')
{
flag++;
if(flag>1)
{
flag --;
p2 = p1;
while(*p2 != '\0')
{
*p2 = *(p2+1);
p2++;
}
p1--;
}
}
else
{
flag = 0;
}
p1++;
}
}