Datei - Array in Datei speichern



  • Hallo,
    ich habe ein CStringArray (oder auch CArray) voll mit Strings, welche
    ich in eine Datei schreiben möchte.
    Wie kann ich das Array in eine Datei schreiben? Dabei möchte ich auch,
    dass am Ende eines Strings in der Datei ein Zeilenumbruch eingefügt wird. Hat jemand ein Codebeispiel ?
    Wenn es nicht so viele Mühe macht, dann würde mich auch noch das
    auslesen der Datei in ein CArray interessieren, aber das Speichern war meine "Hauptfrage".

    Ich habe schon im Forum gesucht, aber komme doch nicht so recht weiter.



  • CStdioFile datei([Pfadname],[Open-Parameter]);
    CStringArray arrayString;

    for (int i = 0;i < arrayString.GetSize();i++){
    datei.WriteString(arrayString.ElementAt(i) + "\n");
    }

    OK soweit?



  • Ja, alles OK.
    Kann ich auch CFile anstatt CStdioFile nehmen ?
    Wo ist der grobe Unterschied ?



  • Ich nehm lieber CStdioFile. Bei CFile kannst du nicht einfach den Stirng rausschreiben.

    CFile::Write
    virtual void Write( const void* lpBuf, UINT nCount );
    throw( CFileException );

    Du musst dich also selber um ein paar Sachen kümmern. Dazu bin ich immer zu faul images/smiles/icon_wink.gif



  • Ok. Vielen Dank für die Hilfe !



  • @Kauz01
    Sicher kann man einfach den String rausschreiben !!!
    (CFile::Write( (LPCTSTR)string, string.GetLength()) images/smiles/icon_wink.gif
    ABER:
    CFile::Write fügt nicht automatisch einen Zeilenumbruch ein.

    Das Auslesen funktioniert genauso über CStdioFile::ReadString, denn wenn man CFile::Read nimmt, wird der Zeilenumbruch nicht entfernt.

    Gruß


Anmelden zum Antworten