500x fopen und fclose
-
Hallo,
ich versuche sehr viele Textdateien zu öffnen und dann in geöfneten Dateien irgendwelche Strings zu suchen. Ich kann die Dateien ca 200x öffnen, aber danach bekomme ich den Fehler fopen = NULL. Ich schliesse die Dateien auch (glaube ich)
Hier mein Code
bool METSENS::testdateioffnen(char* resdateiname) { int len = strlen(resdateiname); //Dekleration in h-datei char *respfadname; respfadname = new char[len+53]; strcpy(respfadname,"C:\\User\\ilker\\TXT-DB\\L_zff_results_metsens_RSLT\\"); strcpy(respfadname, resdateiname); quelle = fopen(respfadname, "r"); if (quelle == NULL) { //irgenswas1... delete [] respfadname; delete resdateiname; return false; } else { //irgenswas2... delete [] respfadname; delete resdateiname; return true; } fclose (quelle); //Datei schliessen return true; }
Wo mache ich ein Fehler? Gibt es andere Methoden mehrere Dateien (ca. 15000 txt Dateien) zu öffnen, bearbeiten und dann wieder zu schliessen.
Danke im Voraus
Ilker
-
Im if(quelle == NULL) springst du in beiden Zweigen mit return aus der Funktion. fclose wird nie aufgerufen.
-
Jep
Du hast recht... alles bestens, es funtzt wieder richtig.
Danke
-
bool METSENS::testdateioffnen(const char *resdateiname) { std::string respfadname("C:\\User\\ilker\\TXT-DB\\L_zff_results_metsens_RSLT\\"); respfadname.append(resdateiname); return std::ifstream(respfadname); }
-
danke