C语言按指定分隔符拆分字符串
1. 先看下面的函数
参数1:分隔符、
参数2:字符串
参数3:分割后的字符串存放的位置
参数4:预计需要分割的个数
int at_get_words(char chop,char *srcStr, char **word, int size) { int index = 0; int i = 0; char *str = srcStr; while (*(str + i) != '\0') { if (*(str + i) == chop) {
word[index] = str; word[index++][i] = '\0'; str = (str + i + 1); i = -1; } if (*(str + i) == '\r') { word[index] = str; word[index++][i] = '\0'; str = (str + i); i = 0; break; } if (index >= size) { return index; } i++; } if (strlen(str) > 0) { word[index++] = str; } return index; }
2. 使用方法
char *words[5] = { NULL }; char buf[64] = "115200, 8, 1, NONE, NFC"; if (at_get_words(',',buf,words,5 ) == 5) { printf("out 0:%s",word[0]); printf("out 1:%s",word[1]); printf("out 2:%s",word[2]); printf("out 3:%s",word[3]); printf("out 4:%s",word[4]); }