Ich möchte einen String anhand bestimmter Zeichen teilen und die Teile dann nochmal anhand eines anderen Zeichen teilen.
char str[] = "car_yellow;motorbike_blue;bicycle_green;car_blue";
char *tok = strtok(str, ";");
while(NULL != tok) {
printf("Eintrag: %s\n", tok);
char *tok2 = strtok(tok, "_");
printf("%s : ", tok2);
tok2 = strtok(NULL, "");
printf("%s\n", tok2);
tok = strtok(NULL, ";");
if(NULL == tok)
break;
}
Das Ergebnis ist aber ganz komisch und zeigt nur den ersten Eintrag.
Eintrag: car_yellow
car : yellow