000
10.07.2008, 21:47 Uhr
~acdc1
Gast
|
Hallo, ich habe ein Problem und weis einfach nicht wie ich es lösen soll. Mein Programm erstellt mit Hilfe von Klassen eine Verkettete Liste. Sie wird im Zug einer Ordnerinhaltsauflistung erstellt und speichert den vollen Pfad eines jeden Elements, das im Ordner vorkommt (Datei oder Ordner). Nun hab ich mein kleines Programm schon dreimal neu erstellt und jedes Mal in einer etwas anderen Weise. Leider stürzt das Programm (Verweis auf falschen Speicherbereich) immer ab. Das nächste ist, dass der Fehler nicht immer auftritt sondern nur sporadisch und je nachdem welchen Ordner ich durchsuchen soll.
Ich verwende Dev-C++ 4.9.9.2 und habe bemerkt, wenn ich das Programm debugge tritt kein Fehler auf, starte ich es normal erscheint die Fehlermeldung.
Ich würde gern den code hier uploaden, habe aber keine Möglichkeit dazu gefunden, würde mich aber sehr freuen, wenn mir jemand ein paar Tips geben könnte. Wahrscheinlich passen meine destruktoren, delete anweisungen etc. nicht - habe aber das schon mehrmals überprüft. Ich könnte den gesamten code auch per mail versenden.
Danke im Vorhinein. acdc
eine wichtige Methode:
C++: |
int liste::makeList() { DIR *dirhd; dirent *entry; char *ctemp;
if(dirhd=opendir(pfad)) //z.B.: h:/neu/ { if(pfad[strlen(pfad)-1]=='\\') pfad[strlen(pfad)-1]=0; do { if(entry=readdir(dirhd)) { switch(entry->d_name[0]) { case '.': break; default: ctemp=new char [strlen(pfad)+strlen(entry->d_name)+2]; sprintf(ctemp,"%s\\%s",pfad,entry->d_name); addElement(new element(ctemp,strlen(ctemp),this)); delete [] ctemp; } } }while(entry); closedir(dirhd); } else return 0; return 1; }
|
Dieser Post wurde am 11.07.2008 um 09:07 Uhr von FloSoft editiert. |