此函数用以过滤一行或者一段字符数组中的某个字符
例如:
/*对字符串:"1、 3DDimension 2 20120102 1 864d3ef36a686b26bae2686fa60b6b36"过滤“ ”空字符,将分别得到:*/
vecoL[index].id=result[0]; //1、
vecoL[index].mdl=result[1]; //3DDimension
vecoL[index].cnt=atoi(result[2]); //2
vecoL[index].deadTime=result[3]; //20120102
vecoL[index].version=result[4]; //1
vecoL[index].md5=result[5]; //864d3ef36a686b26bae2686fa60b6b36
char **result;
int n;
void stringSplit(char *source,char delim,char ***detstr,int* n) //(源字符串, 要过滤的字符, 过滤结果, )
{
char src[512];
strcpy(src,source);
char **result;
char splitchar[10];
sprintf(splitchar,"%c",delim);
int npos=1;
for(int k=0;k<strlen(src)-1;k++)
{
if(src[k]==delim&&src[k+1]!=delim)
npos++;
}
char **str=new char*[npos];
char *tokenPtr=strtok(src,splitchar);
int p=0;
while(tokenPtr)
{
str[p]=tokenPtr;
tokenPtr=strtok(NULL,splitchar);
p++;
}
*n=npos;
result = (char**) calloc (npos, sizeof (char*));
for(int i=0;i<npos;i++)
{
result[i] =(char*) calloc (52, sizeof (char));
sprintf(result[i],"%s",str[i]);
}
delete []str;
*detstr=&result[0];
}