Leerzeichen von dateien auslesen
-
Hallo,
ich habe ein Problenm mit einem C++ Programm ich benutze Borland c++ 6.0.
und zwar möchte ich eine Zeichenkette aus einer Datei lesen die Zeichenkette hat ein leerzeichen und das problem ist das das programm immer nur bis zum ersten leerzeichen liest.
hier mal der quellcode
char variable1[60];
char variable2[60];FILE *stream;
stream = fopen("blabla.txt","r");
fscanf(stream,"%s , %s",variable1,variable2);
fclose(stream);in der ersten Variable schreibt er die erste kette rein bis zum leerzeichen und in die zweite schreibt er den rest der "ersten zeichenkette".
und den rest den er in die 2variable schreiben soll schreibt er nirgends hin.liegt es an meiner Syntax oder gibts dafür eine ander funktion??
mfg
roland
-
Erstens: Dein Quellcode hat nichts mit C++ zu tun (und noch viel weniger mit C++/CLI) - das ist finsterster C-Code.
Zweitens: Mit fgets() kannst du eine Zeichenkette bis zum nächsten \n (ENTER) einlesen, mit
fscanf("%[^,]", ziel);
liest du alles bis zum nächsten Komma ein.
-
Super danke hat geklappt.
was ist so schlimm an dem code???
was mach ich falsch???
Also ich weis das halt alles nur aus der Berufsschule da ham wir das so gelernt
mfg
Roland
-
Ristor schrieb:
was ist so schlimm an dem code???
Technisch gar nichts. Nur verwendet man in C++ nur selten die Funktionen der scanf()-Familie (zu unsicher und schlecht erweiterbar). Stattdessen setzen C++'ler lieber auf die moderneren IO-Streams.
was mach ich falsch???
Du postest im falschen Board.
Du nutzt die Möglichkeiten von C++ nicht aus.
Du provozierst mögliche Speicherfehler (fscanf() kann z.B. nicht überprüfen, ob deine Arrays groß genug für die Eingabe sind).
...
-
Ok, danke dir vielmals!
ich werd mich dann mal an die io-streams rannmachen und schauen was ich dazu finde!
Wüsstest du vielleicht aktuelle gute Bücher bei denen man so etwas lernen kann? (also speziell c++)p.s. sorry für das posten im Falschen Forum
-
Bücher - weniger.
Aber ich empfehle dir mal einen Blick ins Magazin (ganz unten hier im Forum) - speziell den Artikel "Ein- und Ausgabe in C++".