Wort links und rechts von einem Zeichen auslesen
-
Ich benutze folgenden Code um eine Datei zeilenweise auszulesen:
while (!feof(config)) { fgets(buffer,200,config); }
Das funktioniert auch wunderbar. Eine Zeile kann dann z.B. folgendes enthalten:
Text1 = Hallo
Wie kann ich diese Zeichenkette jetzt auseinandernehmen?
Danke!
[ Dieser Beitrag wurde am 14.11.2002 um 21:58 Uhr von NullPointer editiert. ]
-
in c:
möglich durch zeichenweises auslesen. du fängst vorne an [0] und speicherst alle zeichen in eine andere variable, bis zum ersten Leerzeichen. dann wiederholst du das solange nicht das endline-zeichen kommt, bzw. fgets dürfte ein '\0' ans stringende setzen.
-
Danke für deine Antwort! Es muss aber doch auch möglich sein ein String bzw. eine Zeichenkette die schon eingelesen wurde auseinanderzunehmen. Ich finde die nötigen Funktionen einfach nicht...
-
die einfachste Möglichkeit die ich kenne ist die string(.h)-funktion
"char *strtok(char *buffer, const char *trennzeichen)"lies mal in deiner Libc-Referenz nach wie sie genau funktionert.
hier das Beispiel aus meiner Referenz:main() { char *buf = "Hello there, stranger"; char *tok; for (tok = strtok(buf, " ,"); tok; tok=strtok(0, " ,")) printf("tok = `%s'\n", tok); } tok = `Hello' tok = `there' tok = `stranger'
-
Kannst natürlich auch dir ein bestimmtes Zeichen suchen (wenn du weisst, welches) und von dort aus mit zwei while-Schleifen einmal rückwärts und einmal vorwärts laufen bis zum jeweiligen Zeilenende, also \r
-
strtok ist genau was ich gesucht habe. Vielen Dank!
mike