给定一个字符串,将字符串的内容以给定的字符为边界,分割该字符串如给定字符串
char *abc = "qwe,asd,qwe,aswed,qwe,awe,qwer,sdgf";,以逗号为基准分割。函数原型
void split(char *input, char** output),将结果输出至output中,
void split(char *input, char** output)
{
unsigned int j=0,k=0;
size_t i = 0;
while(*input != '\0')
{
char * ptrTemp;
ptrTemp = malloc(100);
while ((*input != ',') && (*input != '\0'))
{
*ptrTemp = *input;
input++;
ptrTemp++;
k++;
}
k++;
*ptrTemp = '\0';
input++;
*output = malloc((k)*sizeof(char));
ptrTemp-=(k-1);
strcpy(*output, ptrTemp);
printf("%s\n", *output);
free(ptrTemp);
k = 0;
output++;
}
*output = malloc(sizeof(char));
*output = "\0";
}
费了不少劲,写了这样一个函数,看来是不懂指针了。。。