PRobleme beim Abspeichern meiner Daten
-
Hallo,
ich möchte aus einer struct die char zeile1[80] und zeile2[80] als Text-Datei abspeichern, so daß man sie mit dem normalen Windows-Editor öffnen und zeilenweise lesen kann.
Ich kriege mit dieser Routine:
void speichere_code()
{
int i;
fp = fopen("neu_code.txt","w");
for (i=0;i<1;i++)
{
fwrite(code[i].zeile1,80,80, fp);
fwrite(code[i].zeile2,80,80, fp);
}
fclose(fp);
}nur so hin, daß die Datei beim Öffnen mit dem Editor in Winddows am Zeilenende mit seltsamen Zeichen besetzt ist und daß man das nicht zeilenwweise sauber vorliegen hat, wie gewünscht. Das sieht irgendwie aus, als wenn der blockweise oder zeichenweise hineinpackt, ziemlich unordentlich sieht das aus.
Was mach ich falsch?
-
Wir sind hier im C++ Forum, also sprechen wir auch C++:
#include <fstream> ... std::ofstream out ("neu_code.txt"); for (int i = 0; i < 1; i++) { out << code[i].zeile1 << "\n"; out << code[i].zeile2 << "\n"; }Das nächste mal bitte mit Code-Tags.
-
pascal2009 schrieb:
Was mach ich falsch?
du speicherst alle 80 zeichen ab, auch die hinter der 0, die das stringende anzeigt.
was du suchst, ist vermutlich fputs()
http://www.cplusplus.com/reference/clibrary/cstdio/fputs.htmlaber mit std::ofstream, wie drakon es vorschlägt, ist echt netter.
-
Er speicher sogar 6400 bytes (80 * 80 -- element_size * element_count).
-
Ja danke für die schnellen Antworten.
Ich hab gerade erst mit c angefangen, ein ehemaliger Pascal-Anwender.
Da hat man im Anfang so einige Kopfschmerzen!
Mit der "netteren" Routine muß ich mich erstmal näher beschäftigen.
Mit fputs komme ich sofort hin. Die seltsamen Zeichen sind verschwunden. Allerdings scheint beim Speichern mit Leerzeichen so auf ca. 256 Zeichen aufgefüllt zu werden.
Gibt es nicht eine Möglichkeit, daß ich die Strings auf gleiche Länge bringe ohne Leerzeichen am Ende? So daß die auf strlen untereinanderstehen, so z. B.:
xxxxxxyyyyyyyyyyyzzzzzzzzzzzz
xxxxxxyyyyyyyyyyzzzzzzzzzzzzz
....Bitte nicht schimpfen wenn die Fragen etwas unbedarft klingen: ich bin unbedarft, keine Absicht.

-
Hallo!
Entwarnung!
Mit der "netten" Alternative hab ich schon genau, was ich brauche.
Ich find das immer toll, daß es so schlaue Menschen gibt, die einem dann auch noch helfen.
Thanks!
-
pascal2009 schrieb:
Hallo!
Entwarnung!
Mit der "netten" Alternative hab ich schon genau, was ich brauche.
Brav. Mir der fährst du nämlich auch sicherer, besser lesbar, wiederverwendbarer, generischer usw.

Und, was du sicher bereits auch gemerkt hast: Anwenderfreundlicher.
