需要分离一个字符串然后再进行另一次分离。
char *token = strtok(str, ",");
while(token){
char *current_string = malloc(sizeof(char) * strlen(token));
strcpy(current_string, token);
char *tk = strtok(current_string, ":"); // KEY
printf("key: %s ", tk);
tk = strtok(0, ":"); // VALUE
printf("value: %s\r\n", tk);
printf("%s\n", token);
token = strtok(0, ",");
}
printf("Done\n");
试图复制token
的内容,但这样做会与token
变量中的内容混淆。它只处理一行而不是它应该处理的三行。我怀疑这个问题与strcpy(current_string, token)
有关,但不确定我应该怎么做。