Hallo!
Ich stehe bei der Programmierung eines MFC - Programms (SDI) mit Visual C++ 6.0 vor zwei Problemen bei denen ich ohne Hilfe einfach nicht weiterkomme.
In meinem Programm soll eine CString-Variable gespeichert werden (es soll eine einfache Textdatei *.txt angelegt werden). Das Speichern selbst funktioniert mit dem unten eingefügten Code einwandfrei, nur habe ich nun 2 Probleme die ich scheinbar nicht lösen kann...
- Wenn im "Speichern unter"-Dialog eine vorhandene Textdatei überschrieben werden soll, welche allerdings SCHREIBGESCHÜTZT ist, liefert das Programm eine Fehlermeldung (Debug Assertion Failed...) und stürzt anschließend ab. Wie kann ich dies verhindern?
- Und ausserdem würde ich gerne realisieren, dass die Textdateien die mein Programm durch den obigen Code anlegt SCHREIBGESCHÜTZT SIND. Wie kann ich dies erreichen?
Ich wäre für Hilfe sehr dankbar, muss jedoch erwähnen dass ich kein erfahrener Programmierer bin und deshalb eher "grobe Beschreibungen und Erklärungen" manchmal nicht wirklich verstehen kann.
Ich stehe bei der Programmierung eines MFC - Programms (SDI) mit Visual C++ 6.0 vor zwei Problemen bei denen ich ohne Hilfe einfach nicht weiterkomme.
In meinem Programm soll eine CString-Variable gespeichert werden (es soll eine einfache Textdatei *.txt angelegt werden). Das Speichern selbst funktioniert mit dem unten eingefügten Code einwandfrei, nur habe ich nun 2 Probleme die ich scheinbar nicht lösen kann...
Code:
// Dialog zum Speichern einer Datei
CFileDialog fileDlg(FALSE, ".txt", NULL, 0, "Textfile (*.txt)|*.txt|All Files (*.*)|*.*||");
fileDlg.DoModal();
CString pfad = fileDlg.GetPathName ();
CFile datei;
// Dies ist der String der gepeichert wird
CString speicherString = "ABC";
// Variable fuer die Dateilaenge erzeugen
long int dateilaenge = speicherString.GetLength ();
// Oeffnen der Datei zum Schreiben
datei.Open (fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite);
// Inhalt des Strings in Datei schreiben
datei.Write (speicherString, dateilaenge);
// Schliessen der Datei
datei.Close ();
- Wenn im "Speichern unter"-Dialog eine vorhandene Textdatei überschrieben werden soll, welche allerdings SCHREIBGESCHÜTZT ist, liefert das Programm eine Fehlermeldung (Debug Assertion Failed...) und stürzt anschließend ab. Wie kann ich dies verhindern?
- Und ausserdem würde ich gerne realisieren, dass die Textdateien die mein Programm durch den obigen Code anlegt SCHREIBGESCHÜTZT SIND. Wie kann ich dies erreichen?
Ich wäre für Hilfe sehr dankbar, muss jedoch erwähnen dass ich kein erfahrener Programmierer bin und deshalb eher "grobe Beschreibungen und Erklärungen" manchmal nicht wirklich verstehen kann.