Speichern mittels CFileDialog
-
Hallöchen,
ich habe folgende Frage:
Ich habe einen CString und möchte diesen in einer Datei(txt) speichern. Mittels einer CFileDialog - Box möchte ich mir meinen Pfad selbst bestimmen und auswählen.
//Quelltext
CString inhalt; //in diesem String steht mein Text welchen ich
speichern möchte> //CFileDialog zum speichern...als txt Datei...
CFileDialog FileDlg (false,NULL,NULL,NULL,_T("Textdateien(.txt)|.txt||"));
> if (FileDlg.DoModal() == IDOK)
> {> CString NameNeueDatei = FileDlg.GetPathName(); //ausgewählter Pfad mit
> Name der neuen Datei
> CAFile file;
> file.Write(NameNeueDatei,inhalt); //speichern....
> //geht das so überhaupt.....
> }Ich würde mich echt voll freuen wenn mir jemand weiterhelfen kann oder mir vielleicht sogar den Quelltext geben würde. Toll wäre es vielleicht noch wenn mir jemand die weiteren Optionen (NULL,NULL etc.) erläutern könnte. Bitte keine Links zu MSDN.
Vielen Dank schonmal im vorraus
Rudi
-
Du musst erst eine Datei 'erstellen' und dann den Inhalt speichern !
CFileDialog FileDlg (false, NULL, NULL, NULL, _T("Textdateien(*.txt)|*.txt||")); if (FileDlg.DoModal() == IDOK) { CStdioFile file; if(file.Open(FileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite)) { file.WriteString("Halooooo"); file.Close(); } }
Gruß
:: NoName ::
-
Ich glaube du könntest auch die Funktion Serialize benutzen...
etwa so (falls ich was falsches sage pls korrigiert mich...):void CDeineKlasse::Serialize(CArchive &ar) { if(ar.IsStoring()) { ar << deinstring; } else { ar >> deinstring; } }
DECLARE_SERIAL und IMPLEMENT_SERIAL musst du natürlich vorher einbinden...
PS: ich denke aber dass ::NoName::'s weg einfacher ist