in datei schreiben problem
-
Hallo Leute,
hab nen komisches problem! Ich nutzte folgenden Code um aus einem Lsitenfeld in eine TXT DAtei zu schreiben:CString write; int x; x = m_log.GetCount(); //Zählt wieviel Einträge vorhanden sind FILE *datei; datei=fopen(ort,"w+"); //ort enthält die Pfadangabe for(int y=0;y<x;y++) { m_log.GetText(y,write); fprintf(datei,"%s",write); fprintf(datei,"\n"); } fclose(datei); MessageBox("Log Datei erfolgreich geschrieben","Erledigt",MB_OK);
Nun, das funzt auch wunderbar, aber nur solange ich das in meinem Hauptfenster laufen lasse (Dialogbasierende Anwendung)
Soll bald ich das in einem neu erstellen Fenster laufen lassen (mit DoModal() aufgerufen) bekomme ich einen Fehler wenn ich es ausführe (nicht beim Kompilier) Natürlich sind die Wert auf den Dialog angepasst worden.....Die Fehlermeldung ist irgendwas mit speicherverweise und read konnte nicht ausgeführt werdenVielen Dank schonmal
-
Probiers mal mit CStdioFile.
-
haste gerade mal ne erklärung dafür thx
wäre supi
-
CStdioFile output; CString outpfad = "lol.txt"; //Ausgabepfad output.Open(outpfad,CFile::modeWrite | CFile::modeCreate,NULL); //Datei erstellen und öffnen output.WriteString(m_strVerText); //String in die Datei Schreiben output.Close(); //Datei schließen
-
Mhhh...ich denke das würde funzen, nur leider bekomme ich da auch ne Meldung:
Fehler in Anwendung
Die Anweisung in"0x778821e1" verweist auf Speicher in "0x0000000034".Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.GRml..... was ist das fürn fuck??
Hier der Codeint x; CString write; x = m_complist.GetCount(); CStdioFile output; CString outpfad = pfad; //Ausgabepfad output.Open(outpfad,CFile::modeWrite | CFile::modeCreate,NULL); //Datei erstellen und öffnen for(int y=0;y<x;y++) { m_complist.GetText(y,write); output.WriteString(write); //String in die Datei Schreiben output.WriteString("\n"); } output.Close(); //Datei schließen
mhhhhh?
-
ich kenne mich mit dem debugger leider nicht so aus!
wenn ich es debugge, kommt aber an folgendem stück code dieser gelbe pfeil:void CStdioFile::WriteString(LPCTSTR lpsz) { ASSERT(lpsz != NULL); ASSERT(m_pStream != NULL); //Hier steht der Pfeil vor if (_fputts(lpsz, m_pStream) == _TEOF) AfxThrowFileException(CFileException::diskFull, _doserrno, m_strFileName); }
-
ARGS , habs gefunden...war nen schusseligkeitsproblem..
läuft aber jetzt..*g*