C-Sprache: Wie man den verbleibenden string nach der Verwendung von strtok() einmal
Meine Zeichenkette "A,B,C,D,E"
Der separator ist ","
Wie kann ich die verbleibenden string nach strtok() einmal, das ist "B,C,D,E"
char a[] = "A,B,C,D,E";
char * separator = ",";
char * b = strtok(a,separator);
printf("a: %s\n", a);
printf("b: %s\n", b);
Ausgabe:
a: Ein
b: A
Aber, wie man das Ergebnis
a: B,C,D,E
b: Ein
Danke.
Glaube nicht, dass
strtok()
tut.InformationsquelleAutor Eric Tseng | 2013-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie variieren die Menge der Trennzeichen, so übergeben Sie einfach eine leere Zeichenkette:
strtok
mehr als einmal, und irgendwann musste ich mich dem Rest. Also nicht mitstrtok
war das auch keine Lösung. Weder Summen-Zeichen, da war ichtoking
im Raum, und es könnte enthalten eine variable Anzahl von aufeinanderfolgenden Leerzeichen, etc.InformationsquelleAutor Neil
Nicht verwenden
strtok()
für diese, denn das ist nicht das, was es ist.Verwenden
strchr()
zu finden, der erste separator, und gehen von dort aus:InformationsquelleAutor unwind
strtok
merkt sich die Letzte Zeichenfolge gearbeitet wird, und wo es endete. Um die nächste Zeichenfolge, nennen Sie es noch einmal mitNULL
als erstes argument.Hinweis: Dies ist nicht thread-sicher.
InformationsquelleAutor Atle
Versuchen Sie dies:
InformationsquelleAutor alk
Wenn mit
strtok
ist nicht Voraussetzung, Sie könnenstrchr
statt, da der separator ist ein einzelnes Zeichen:InformationsquelleAutor Fred Foo
Versuchen, diese
InformationsquelleAutor nav_jan