Speichern von "double" in txt Datei!



  • Moin alle zusammen!

    Folgendes Problem:

    Ich möchte eine double-Variable auslesen und in eine .txt-Datei speichern.

    Der Code sieht ungefähr so aus:

    void CTraining1Dlg::OnSpeichern() 
    {
    	UpdateData (true);
    
    	CStdioFile Erg;
    
    	if(Erg.Open(m_pfad, CFile::modeCreate | CFile::modeWrite))
    	{
    		Erg.Write(m_save);    <----- Hier ist das Proböem!!!
    		Erg.Close();
    		MessageBox("Speichern erfolgreich", "Speichern Erfolgreich!");
    	}
    	else
    	{
    		MessageBox("Fickfehler", "Speichern fehlgeschlagen!");
    	}
    
    	UpdateData (false);
    }
    

    Strings abspeichern ist kein Problem! Aber wie bitte speicher ich doubles!?

    Danke im Vorraus!

    Der Besucher Fawbzn



  • Du könntest entweder den double-Wert per CString::Format() in einen String umwandeln und dann in Textform speichern oder du verwendest ein CFile (statt des CStdioFile) und gibst dem Write als zweiten Parameter die Größe der Variablen an (speichert den Wert binär):

    CFile Erg;
    if(Erg.Open(...))
    {
      Erg.Write(&m_save,sizeof(double));
      Erg.Close();
      MessageBox("Erfolg","Schreiben erfolgreich");
    }
    


  • Vielen Dank für die schnelle Hilfe!

    So speichert er das schon mal.
    Jetzt muss ich nur noch herrausfinden ob ich das so auch wieder laden kann.

    Nochmals vielen Dank!

    Fawbzn



  • Dazu gibt es Read() 😉 (das dürfte die selben Parameter bekommen wie Write())


  • Administrator

    Und so als Tipp, schau dir mal in der MSDN CArchive an. Hilft ungemein was schnelles speichern und laden betrifft.
    Grüssli


Log in to reply