char *strtok(char s[], const char *delim);
分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。
但是strtok分解"a,,b,c"这样的两个分隔符挨着的字符串时候,会得到a、b、c三个字符,而不是a、空字符、b、c,而GPS信息会经常出现两个分隔符挨着的字符串,这时候如果还想用strtok来分解GPS信息就需要进行处理。
我将两个连续分隔符中间插入字符,然后再通过strtok进行分解,如果分解到的字符串为!则说明此GPS信息没有得到。
void insert(char *s){
char str[5000];
char *t = str;
strcpy(t,s);
for(;*t != '\0';s++,t++){
*s = *t;
if(*t==',' && *(t+1)==',' ){
s++;
*s = '!';
}
}
*s = '\0';
}