Daten werden überschrieben



  • Hi,

    ich speichere folgendermaßen Daten ab :

    CStdioFile DateiSpeichern;
    strDateiName = GetCommandLine();
    int nPos = strDateiName.ReverseFind( '\\');
      strDateiName = strDateiName.Mid(1, nPos-1);
    strDateiName += "\\zeiten.txt";
    UpdateData(TRUE);
    
    if(DateiSpeichern.Open(strDateiName, CFile::modeCreate | CFile::Read))
        {
    	  DateiSpeichern.WriteString ("Am " + m_sDate + " von " + strUhr + " bis " + m_sTime + "\n") ;
          DateiSpeichern.Close ();
          MessageBox ("Daten wurden gespeichert", "Daten gespeichert", MB_ICONINFORMATION);
        }
        else
    	{ 
    	MessageBox ("Fehler beim Öffnen der Datei - Speichern wurde abgebrochen", "Fehler", MB_ICONINFORMATION);
    
    	}
    

    Wenn ich das so mache überschreibt der einfach das vorher gespeicherte.
    Wie stell ich das an das er einfach eine neue Zeile nimmt, anstatt gleich das ganze Textfile neuzuerstellen ?



  • Gib mal zusätzlich das Flag 'CFile::modeNoTruncate' beim Öffnen an, dann wird die Datei nicht gelöscht. (und spring vor dem Schreiben ans Dateiende (SeekToEnd()), sonst überschreibst du selber den Dateiinhalt)



  • Danke , du bist der Beste 👍


Anmelden zum Antworten