前两天写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;
}