strtok: bestimmte Syntax aufteilen
-
hallo... ich habe einen string der z.B: so aussieht:
hallo "Melanie Sprint" das alter "17 Jahre" huhu
das soll aufgeteilt werden in:
hallo Melanie Sprint das alter 17 Jahre huhu
mein ansatz:
pToken = strtok(buf_em, "\""); if(pToken) { printf("Test: %s\n",pToken); while ( (pToken = strtok(NULL, "\"")) ) { printf("Test: %s\n",pToken); } }
aber ich blick da nicht richtig durch^^ habt ihr eine idee??
achja -
1. die Syntax hab ich mir net ausgesucht
2. der satz der geteilt werden soll ist nur müll - nur als Beispieldanke!
-
duoBabel schrieb:
hallo... ich habe einen string der z.B: so aussieht:
hallo "Melanie Sprint" das alter "17 Jahre" huhu
das soll aufgeteilt werden in:
hallo Melanie Sprint das alter 17 Jahre huhu
hi,
du kannst nicht leerzeichen als trenner nehmen und gleichzeitig zwei wörter zusammen lassen (wie bei 'melanie sprintf'). das muss schon unterschiedlich sein...
-
Du könntest alle ' ' innerhalb zweier " durch ein anderes Zeichen ersetzen (das natürlich sonst nicht auftreten darf), dann strtok()en und dann das Zeichen in den Teistrings wieder durch ' ' ersetzen.
Wäre zwar keine wirklich schöne Lösung, aber das ist es mit strtok() eh nicht ;P