fprintf & fscanf
-
hallo,
ich schreibe eine Datei mit folgenden Codefprintf (ptr,"\n-------------------------------------------------------\n");
fprintf (ptr, "\Name \t\t %-10.10s\n",hilf->neu.Name);
fprintf (ptr, " Beschreibung\t %s\n",hilf->neu.Beschreibung);
fprintf (ptr, " Verbrauch\t %5.2f\n",kopf->neu.Verbrauch);
fprintf (ptr, " Stunden\t %2.2f\n",hilf->neu.Stunden);
fprintf (ptr, " Tage\t\t %3.0f\n",hilf->neu.Tage);jetzt möchte ich die daten die ich in die Datei geschrieben habe, beim laden wieder auslesen, leider funktioniert das nicht so wie ich mir das vorgestellt habe :
fscanf (ptr,"\n-------------------------------------------------------\n");
fscanf (ptr, "\Name \t\t %-10.10s\n",&neu.Name);
fscanf (ptr, " Beschreibung\t %s\n",&neu.Beschreibung);
fscanf (ptr, " Verbrauch\t %5.2f\n",&neu.Verbrauch);
fscanf (ptr, " Stunden\t %2.2f\n",&neu.Stunden);
fscanf (ptr, " Tage\t\t %3.0f\n",&neu.Tage);..... warum ist das falsch ?
Die datei soll lesbar sein, deswegen die Beschrebungen :Name, Beschreibung ,..
(bzw. die Datei soll ausgedruckt werden.)wie lese ich die Daten wieder richtig zurück ?
Tipps ?
Danke
Chris
-
Hi,
ich glaub du musst den File-Pointer wieder auf null machen, um neu (vom anfang an) einzulesen.
Bitte erschlag mich jetzt nicht, es ist 6 Jahre her wo ich das letzte mal
mit reinem C-programmiert habe.
(lese Bitte in der BCB hilfe wie file-pointer wider auf anfangsposition).Grüsse
-
Hallo
besser wärs aber, gleich die ordentlichen C++ Mittel wie std::fstream oder die VCL-Mittel wie TStringList zu benutzen.
Zu beiden findest du in den entsprechenden FAQ genug, dazu noch die SuFu.bis bald
akari
-
hmm, ich hab da trotzdem irgendwie ein verständnissproblem undzwar wenn ich in eine Datei wie fogt schreibe :
cout << "Preis" << variable_x << endl;
wie lese ich die variable_x wieder aus ? ....
cin >> vairable_x;
aber was passiert mit "Preis" ?? .....
oder so ?
cin >> "Preis" >> variable_x >> endl;? ... sorry, aber da hab ich grad ein denkproblem ....
chris
-
Mach einfach mal ein Leerzeichen zwischen String und Zahl, dan klappt das auch.
ofstream out("text.txt"); out << "Preis " << variable_x << endl; // Leerzeichen zur Trennung rein //wie lese ich die variable_x wieder aus ? .... So ifstream in("text.txt"); string dummy; in >> dummy >> variable_x;Hast du den Beitrag aus der FAQ des C++Forums gelesen?
-
hallo,
danke für die Antwort.
Ich habe zu fscanf im C++ Builder FAQ gesucht,
werde jetz aber im C++ FAQ den Beitrag zu fstream suchen.
Danke
Chris
-
Bittet so wird euch gegeben, suchet so werdet ihr finden.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html