Problem beim Schreiben in Datei



  • hi,

    ich hab nen Problem..... und zwar würde ich gerne ne liste von Arrays anlegen. Das ist soweit kein Problem, obwohl ich nicht weiß, ob das die richtige Lösung ist, weil ich erst seit ner Woche mit Visual C++ rumprobiere, aber eigtl. grundsätzlich nen bisschen programmieren kann. Aber Visual ist eben neu und das waren meine ersten Gedanken!!!!

    CStringArray test,nochmaltest;
    	CObList listtest;
            test.SetSize(3);
    	test.SetAt(0,m_Titel);
    	test.SetAt(1,m_Format);
    	test.SetAt(2,m_Medium);
    
    	nochmaltest.SetSize(3);
    	nochmaltest.SetAt(0,m_Titel);
    	nochmaltest.SetAt(1,m_Format);
    	nochmaltest.SetAt(2,m_Medium);
    
    	listtest.AddHead(&test);
    	listtest.InsertAfter(listtest.GetHeadPosition(),&nochmaltest);
    
    	CFile datei;
    
    	datei.Open("test7.bin", CFile ::modeCreate | CFile::modeWrite | CFile :: modeNoTruncate | CFile::shareExclusive);
    	datei.SeekToBegin();
    	CArchive ar(&datei,CArchive::store);
    	//listtest.Serialize(ar);
    	//ar.WriteObject(&listtest);
    
    	ar << &listtest;
    
    	ar.Close();
    	datei.Close();
    
            CFile datei2;
    	CObList test2;
    	datei2.Open("test7.bin", CFile::modeRead);
    	datei2.SeekToBegin();
    	CArchive ar2(&datei2, CArchive::load);
    
    	ar2 >> test2;
    
    	ar2.Close();
    	datei2.Close();
    

    mein problem ist jetzt, dass ich zwar richtig in die Datei schreiben kann, aber nicht lesen kann. hab dann rumprobiert, kann also sein, dass der lese aufruf totaler quatsch ist. Wäre super, wenn mir jemand helfen könnte und am besten noch erklären, bzw. verbessern......

    Danke Apoka



  • Hm, hast du dir die Daten mal angesehen, die dann in der Datei stehen. Meiner Meinung nach dürften nur 4 Byte drin stehen, nämlich die Adresse von listtest.

    EDIT: Nein, das mit der Adresse ist Quatsch. Aber wieso verwendest du nicht die Funktion Serialize? Sowohl zum Laden als auch zum Speichern?



  • also die Daten stimmen schon in der Datei....
    und die Serialize Funktion verwende ich deshalb nicht, weil ich im microsoft archiv halt gelesen habe, dass die operatoren << >> das beinhalten!!


Anmelden zum Antworten