fstream Probleme



  • Hallo,

    versuche gerade eine Datei mittels fstream zu schreiben, was wie folgt aussieht:

    CString csBuffer(L"Test");
    std::fstream datei;
    datei.open(filePath, std::ios::out);
    datei << csBuffer << std::endl;
    datei.close();
    

    Jedoch habe ich in der Datei später nur Hexzahlen. Ich vermute das Problem mal bei unicode. wfstream habe ich auch schon probiert, leider ohne Erfolg.

    LG



  • Caste den csBuffer in

    datei << csBuffer << std::endl;
    

    doch mal nach const char * (wenn es sich um ein Nicht-Unicode-Projekt handelt)



  • Ist aber leider Unicode 😞



  • 1.Vorschlag:

    std::wfstream datei;
    

    w --> wide char ---> Unicode

    Und dann per

    datei.open(filePath, std::ios::out); 
    datei << csBuffer.GetBuffer() << std::endl;
    csBuffer.ReleaseBuffer(); 
    datei.close();
    

    GetBuffer(); ist nötig, da bei wfstream der Operator << für CStrings nicht überladen ist. GetBuffer(); gibt einen Zeiger auf einen Nullterminierten char* string zurück.

    2.Vorschlag:
    Warum benutzt du nicht die

    CFile
    CStdioFile //Für Textdateien
    

    Klassen der MFC?

    Viel Erfolg 👍
    eXitus


Anmelden zum Antworten