Verkettete Listen und Ordnerinhalt

  • 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 habe den Code hinzugefügt und würde mich 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.

    Danke im Vorhinein.
    acdc

  • Hab nur kurz mal reingesehen, und kann dir nur dazu raten, auf die stl umzusteigen, z.B. auf die vector Klasse.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Ich hab einen off-by-one-error entdeckt, vielleicht löst der das ja aus:

    in liste.cpp:

    Code
    addElement(new element(ctemp,strlen(ctemp),this));

    in element.cpp element::element(char *s,int s_lang,liste *parent):

    Code
    eintrag.dir=new char [s_lang];
      stringcopy(eintrag.dir,s);

    Nachdem ein C-String NUL-terminated ist, überschreibt das stringcopy (seltsamer name btw, heißt das nicht strcpy?) ein Byte zu viel.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!