仿照QT中的字符串分割函数,用C写了个分割函数,记录一下,避免以后忘记了。
void SplitStr ( char* str, char* destStr, char c, int num ) str为要分割的字符串,destStr存储分割好的字符串,c为分割字符串的符号(如“,” “;”等),num为要取出第几位的字符串,例如:str = 0,1,2,3 SplitStr(str,destStr,',',0)就得到destStr = “0”。
void SplitStr ( char* str, char* destStr, char c, int num )
{
int strNum = 0;
int iLen = 0;
int iCnt = 0;
int startPos = 0;
if( ( str == NULL ) || ( destStr == NULL ) ){
return;
}
iLen = strlen( str );
for( iCnt=0;iCnt<=iLen;iCnt++ ){
if( ( str[iCnt] == c ) || ( iCnt == iLen ) ){
if( strNum == num ){
memcpy( destStr, &str[startPos], ( iCnt - startPos ) );
destStr[iCnt - startPos] = '/0';
return;
}
startPos = iCnt + 1;
strNum++;
}
}
}