File-Handling
-
Hallo allerseits
ich habe ein Prog, welches zu Begin eine log-Datei erzeugt ("C:\\Programme\\ ... \\MeinProjekt\\Settings.log"). In einem zweiten Schritt kopiere ich dann diverse Ordner/Files. Wenn ich dann am Schluss die log-Datei wieder öffnen will, falle ich beim Test in die Fehlerschleife...if(!LogDatei) { //Fehler } else { // Speichern in die Datei }Weiss jemand, an was das liegen kann? Die Datei wurde korrekt erzeugt.....
Gruss Thomas
-
etwas mehr Code wäre hilfreich!
-
black_sheep_thomas schrieb:
Hallo allerseits
ich habe ein Prog, welches zu Begin eine log-Datei erzeugt ("C:\\Programme\\ ... \\MeinProjekt\\Settings.log"). In einem zweiten Schritt kopiere ich dann diverse Ordner/Files. Wenn ich dann am Schluss die log-Datei wieder öffnen will, falle ich beim Test in die Fehlerschleife...if(!LogDatei) { //Fehler } else { // Speichern in die Datei }Weiss jemand, an was das liegen kann? Die Datei wurde korrekt erzeugt.....
Gruss Thomas
schau erstmal nach http://if-schleife.de/
und dann sag, was "am schluß" ist. so am schluß, daß die datei wieder zu ist? haste orgendwo LogDatei.close() aufgerufen (sollste eh nicht machen). warum überhaupt diese if-schleife? schreib doch einfach rein, und wenn's nicht klappt, klappt's halt nicht. wobei du natürlich einmal rausfinden mußt, warum's hier nicht klappt.
-
Hier bitte:
const char szSettigFilePath[] = "Settings.log"; char appPath[MAX_PATH]; // ... // Den Pfad des Programmes ermitteln und an das Logfile anfügen GetModuleFileName(NULL,appPath,sizeof(appPath)); // liefert z.B. "c:\blupp\hallo.exe" PathRemoveFileSpec(appPath); // jetzt ist nur noch "c:\blupp" übrig sprintf(appPath,"%s\\%s",appPath,szSettigFilePath); // Die Datei erzeugen ofstream TempSettingFile(szSettigFilePath, ios::binary); if(!TempSettingFile) MessageBox(0,"Das Settingfile konnte nicht erzeugt werden",0,0); else TempSettingFile.close(); // Nun wird mit FindFirstFile() und FindNextFile() gearbeitet // ... // ... // Daten in die Datei speichern ofstream SettingFile(appPath, ios::binary); if(!SettingFile) { // Hier falle ich beim Test jetzt rein, obwohl die Datei existiert MessageBox(0,"Das Settingfile konnte nicht aktuallisiert werden",0,0); } else { SettingFile.write((char*) &AKTUELLE_VERSION,sizeof(AKTUELLE_VERSION)); SettingFile.write((char*) &m_startpfad,sizeof(m_startpfad)); SettingFile.write((char*) &m_zielpfad, sizeof(m_zielpfad)); } SettingFile.close(); } // Ende des Programms
-
schreib doch einfach rein, und wenn's nicht klappt, klappt's halt nicht.auch ne' Einstellung.....
kann man mal was mehr Code sehn'?Vielleich den Header...
-
Mehr Code wäre schon möglich, ist aber eine MFC-Klasse.
Ich habe das Problem jedoch in der Zwischenzeit "gelöst". Das fstream-Obiekt jeweils wurde durch ein ifstream bzw. ofstream ersetzt und in in den einzelnen Methoden deklariert. -> Jetzt läuft es ohne zu Probleme.
Gruss Thomas
-
Hi Thomas,
neee,mit MFC kenn ich mich nu garnicht aus...Könntest mir da mal en' paar Tips geben wo man da ansetzt.....
Ich doktor an der WIN32API rum und interessiere mich für Treiber und Kernel...also ganz unten im Keller gell!
Bis dann
-
Welchen Zweck verfolgst du mit folgendem Code?
// Die Datei erzeugen ofstream TempSettingFile(szSettigFilePath, ios::binary); if(!TempSettingFile) MessageBox(0,"Das Settingfile konnte nicht erzeugt werden",0,0); else TempSettingFile.close(); // Erst öffnen, dann abfragen ob's geht und wenn ja, einfach wieder schließen???
-
PuppetMaster2k schrieb:
Welchen Zweck verfolgst du mit folgendem Code?
Der "Sinn" des Codes ist, eine leere Datei zu erzeugen. (ist aber in der aktuellen Programmversion nicht mehr enthalten)