【发布时间】:2015-01-25 03:18:38
【问题描述】:
我有这样的字符串+100+200,300+500+400,700,900。我需要通过两个不同的符号'+' 和',' 将字符串拆分为数组,所以我想得到A 的id = 100 和它的孩子arrayA [200, 300],B 的@ 987654329@ 是孩子 arrayB [400,700,900]。
最好的方法是什么?
谢谢。
我有示例代码:
#include <stdio.h>
#include <string.h>
typedef struct _example_s {
unsigned short id;
unsigned short child_id[5];
} example_t;
int main(void)
{
example_t ex_ary[2]; //it means A and B
char msg[30] = "+100+200,300+500+400,700,900";
char *result = NULL;
result = strtok(msg, "+,");
while(result != NULL ) {
printf("%s\n", result);
result = strtok(NULL, "+,");
}
return 0;
}
【问题讨论】:
-
你可以使用
strpbrk(),但我认为你应该使用2strtok_rs