我有一个像这样的字符串:
a;b;c;d;e
f;g;h;i;j
1;2;3;4;5
我想逐个元素解析它。我使用了嵌套的strtok函数,但是它只是分割第一行并使标记指针为null。我该如何克服呢?这是代码:
token = strtok(str, "\n");
while(token != NULL && *token != EOF)
{
char a[128], b[128];
strcpy(a,token);
strcpy(b,a);
printf("a:%s\n",a);
char *token2 = strtok(a,";");
while(token2 != NULL)
{
printf("token2 %s\n",token2);
token2 = strtok(NULL,";");
}
strcpy(token,b);
token = strtok(NULL, "\n");
if(token == NULL)
{
printf("its null");
}
}
输出:
token 2 a
token 2 b
token 2 c
token 2 d
token 2 e
隔江千里
相关分类