Arrayinhalt in einer Datei speichern.



  • Hallo zusammen.

    Ich mache grade ein paar Versuche zum schreiben und auslesen von Daten in bzw. aus Dateien.

    Wie ich Sätze oder einzelne Zeichen ausgeben kann, weiss ich. Jedoch habe ich das ganze Mal mit einem array versucht, aber irgendwie will das nicht richtig.
    Meine Datei wird zwar beschrieben, aber ohne dass etwas sichtbar ist.
    Folgendes Codefragment benutze ich:

    int GameArea[X_Field_Size][Y_Field_Size];
    
    	for (int i=0; i<X_Field_Size;i++)
    	{
    		for (int j=0; j<Y_Field_Size;j++)
    		{
    			GameArea[i][j]=(0);
    		}
    	}
    
    	//Daten ausgeben in Datei
    	ofstream fout(LevelDataFile, ios::binary);	
    	fout.write((char*)&GameArea,sizeof GameArea);
    	fout.close();
    

    Vielleicht kann mir da jemand weiterhelfen, wäre super 😋

    Gibt es irgendwelche Tutorials die die Datenein- und ausgabe etwas ausführlicher behandeln, als die 2-3 Seiten in Büchern ?

    Grüßle Blacky



  • Meine erste Vermutung: Du brauchst "ofstream fout(LevelDataFile, ios::binary | ios::out);"



  • Danke erstmal für deine Antwort.

    Leider funktioniert es so immernoch nicht, oder verstehe ich da was falsch ?
    Ich initialisiere mein gesamtes Array mit "0". Demnach sollte dann doch auch in der Datei eine Reihe von Nullen zu sehen sein, oder ?!

    Wenn ich die Datei mit dem MS Editor öffne sind dort nur leere Zeilen zu sehen, es ist aber definitiv irgendetetwas unsichtbares da, da der (rauf/runter) Scrollbalken aktiv ist und die Datei 6kb hat.

    Wenn ich Datei in meinem Notepad++ Editor betrachte ist eine ganze Zeile voll mit NUL Zeichen sichtbar, aber sonst nichts...

    Ist das vielleicht richtig ? Wenn ja, wie bekomm ich es hin dass die Werte hineingeschrieben werden ?



  • LinsenmitSpätzle schrieb:

    Leider funktioniert es so immernoch nicht, oder verstehe ich da was falsch ?

    Gut erkannt, du verstehst etwas falsch 🙂 write() schreibt die Daten binär, also dürfte in deiner Datei eine Folge von \0-Zeichen drinstehen. (der Editor interpretiert diese recht willkürlichen Binärwerte als ASCII-Zeichen)

    (und auch wenn du andere Werte in deinem Array hast, wird wohl kaum etwas für Menschen lesbares herauskommen)



  • Autsch 😃

    Danke 🙂

    Dann schau ich mal wie ich das lesbar da reinschreiben kann


Anmelden zum Antworten