CFile und CString

SCIPIO-AEMILIANUS

aka Dubdidadu
Also ich hab ein Problem mit CFile.
Ich hab eine Mfc anwendung in der Verschiedene Sachen über CFile gespeichert werden.
Ich hab 4 Felder mit Zahlen(alle float variabeln). Diese tue ich in ein CArchive und geb dieses archive weiter an CFile, der das dann speichert. Dies funktioniert hundert prozentig.

Jetzt zu meinem problem. Da ich es irgendwie nicht schaffe die Editboxen Char kompatibel zu machen, benutze ich CString. Ich hab also jetzt die float Variabeln im Quellcode ersetzt die Namen der 4CString Variabeln. Nun kann ich dies ohne Probleme kompilieren. Der Fehler tritt auf, wenn ich den Button zum Speichern der Eingabe betätige, der heißt "Das Programm hat einen Fehler festgestellt und muss beendet werden".

Hier mein Code:
Code:
UpdateData(TRUE);
CFile Datei;
Datei.Open("save.txt", CFile::modeReadWrite|CFile::modeCreate); 
CArchive ar (&Datei, CArchive::store); 
ar<<ausgabe[i];//ausgabe sieht so aus: CString ausgabe[4];
 ausgabe[0]=m_eingabe1;
ausgabe[1]=m_eingabe2;
ausgabe[2]=m_eingabe3;
ausgabe[3]=m_eingabe4;
ar.Close(); 
Datei.Close();
UpdateData(FALSE);
 
Hi,
nachstehender Code schreibt beispielhaft 2 Strings und liest sie wieder ein.
Kannst ja mal mit Deinem vergleichen.

Code:
	CString ausgabe[2];
	ausgabe[0]="Text1";
	ausgabe[1]="Text2";
	CFile Datei;
	Datei.Open("save.txt", CFile::modeReadWrite|CFile::modeCreate); 
	CArchive ar (&Datei, CArchive::store); 
	ar<<ausgabe[0];
	ar<<ausgabe[1];
	ar.Close(); 
	Datei.Close();

	CString lesen[2];
	Datei.Open("save.txt", CFile::modeRead); 
	CArchive br (&Datei, CArchive::load); 
	br>>lesen[0];
	br>>lesen[1];
	br.Close(); 
	Datei.Close();
 
Zurück