CArchive & Dateiende



  • Wenn ich mit CArchive aus einer Datei auslese, wie kann ich dann abfangen nicht über das Dateiende hinauszulesen...
    Hab es mit

    CString str;
    CArchive ar(...);
     while (ar.IsLoading)
    {ar>>str;}
    

    versucht (oder so ähnlich), aber funktioniert nicht. Ist die Funktion IsLoading überhaupt richtig oder ist das Schwachsinn?

    Gruß & Danke



  • IsLoading / IsStoring wird nur verwendet um zu überprüfen ob man aus dem Archiv liest / lesen soll bzw. schreibt / schreiben soll.

    Überlicherweise schreibt man die Anzahl der "Items" davor. Du kannst wenn es eine Liste ist einfach CStringArray benützen und CStringArray::Serialize aufrufen.

    [ Dieser Beitrag wurde am 30.10.2002 um 16:43 Uhr von Nemesyzz editiert. ]



  • Es ist eine Datei mit unterschiedlich vielen double Werten...gibt es keine Funktion die anzeigt das ich am Ende der Datei bin oder ähnlich?



  • Dann solltest du CFile::Read nehmen.



  • OK, erstmal vielen Dank für die Tipps! Ich habe mich falsch ausgedrückt es sind Double-Werte die aber irgendwie Binär (oder so) abgespeichert sind. Ich muss die also als Archive auslesen.

    CFile KovFile;
    KovFile.Open( sKovName, CFile::modeRead);
    CArchive ar(&KovFile,CArchive::load);
    while(????){ar>>dDummy;}
    

    Ich habe das schon mal gesehen, aber bekomme es echt nicht mehr zusammen!!!
    HILFE!!! Was muss in der while-Schleife stehen?



  • Sorry, aber hat echt keiner einen Tipp? Ich steh gerade ein bisschen auf dem Schlauch!!!


Anmelden zum Antworten