前兩天寫ministored的時候,發現需要用到字符串的分割,花了點時間寫了一個,後來發現不需要了,放在這個,留着以後備用。
int count(char * str,const char * delim){
int num = 0;
while( NULL != ( str = strstr(str,delim) ) ){
str ++;
num ++;
}
return num;
}
char ** split(char * str, const char * del){
int num = count(str,del);
char ** arr = ( char ** ) malloc( sizeof(char*) * ( num +1));
char ** result = arr;
char * s = strtok(str,del);
while( s != NULL){
*arr++ = s;
s = strtok(NULL,del);
}
return result;
}