paka Geschrieben 18. August 2009 Teilen Geschrieben 18. August 2009 Hallo Ich würsste gerne, ob es eine c-Funktion gibt, mit der ich die Dateien in einem Ordner ermitteln kann? Eigentlich will ich den Ordner löschen, aber wenn ich das versuche erhalte ich die 'Fehlermeldung : Directory not empty Wenn ich mir den Ordner im Explorer anschaue, wird aber angezeigt, Ordner ist leer. (versteckte Dateien lasse ich mir auch anzeigen ) Falls einer ne Idee hat, was da los ist, bzw sein könnte, wär auch schön. ansonsten würde ich mir halt gerne im Programm die Dateien anzeigen lassen oder deren Namen auslesen oder was weiß ich was machen um rauszukriegen was da drin ist. Dann kann ich das ja löschen, bis der Ordner leer ist. Vielen Dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 18. August 2009 Teilen Geschrieben 18. August 2009 Ich würsste gerne, ob es eine c-Funktion gibt, mit der ich die Dateien in einem Ordner ermitteln kann?Im Standard nicht, du musst auf betriebssystemspezifische Funktionen zurückgreifen. Unter Windows wäre das FindFirstFile und FindNextFile. Eigentlich will ich den Ordner löschen, aber wenn ich das versuche erhalte ich die 'Fehlermeldung : Directory not emptyIst das die vollständige Fehlermeldung? Wenn ich mir den Ordner im Explorer anschaue, wird aber angezeigt, Ordner ist leer. (versteckte Dateien lasse ich mir auch anzeigen )Kannst du denn den Ordner im Explorer löschen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
paka Geschrieben 19. August 2009 Autor Teilen Geschrieben 19. August 2009 Hallo Danke für die schnelle Antwort Im Standard nicht, du musst auf betriebssystemspezifische Funktionen zurückgreifen. Unter Windows wäre das FindFirstFile und FindNextFile. Die beiden Befehle werd ich mir mal anschaun Ist das die vollständige Fehlermeldung? Ja, das ist die Fehlermeldung die perror beim Aufruf von remove(ordner) liefert. Kannst du denn den Ordner im Explorer löschen? Ja, das ist kein Problem. Chiao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 19. August 2009 Teilen Geschrieben 19. August 2009 Ja, das ist kein Problem.Auch zu demselben Zeitpunkt, zu dem in deinem Programm das Problem auftritt, d.h. während dein Programm läuft? Gegebenenfalls musst du dein Programm, z.B. mit einer MessageBox, anhalten, um genug Zeit zu haben, das zum richtigen Zeitpunkt zu testen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
paka Geschrieben 20. August 2009 Autor Teilen Geschrieben 20. August 2009 Auch zu demselben Zeitpunkt, zu dem in deinem Programm das Problem auftritt, d.h. während dein Programm läuft? Gegebenenfalls musst du dein Programm, z.B. mit einer MessageBox, anhalten, um genug Zeit zu haben, das zum richtigen Zeitpunkt zu testen. Ich hab das mal getetet, und hier scheint wirklich das Problem zu liegen. Zum Zeiltpunkt, wenn ich den Ordner lösche, wird im Explorer noch eine Datei angezeigt. Diese ist (bzw soll ) aber schon in einer anderen Funktion gelöscht worden sein. Dabei wird auch kein Fehler gemeldet, (das frag ich direkt nach dem Aufruf von remove mit perror ab ) sie müsste also gelöscht sein. Ist sie aber offensichtlich doch nicht. Das hab ich auch im Explorer nachgeschaut. Das Programm läuft weiter, bis zu der Stelle, an der der Ordner gelöscht werden soll. Wechsele ich nun in den zu löschenden Ordner, um die Datei (nochmal ) zu löschen, erhalte ich die Fehlermeldung 'No such file in directory' Ich hab das Programm dann nochmal angehalten, und schaue im Explorer nach, und siehe da, die Datei wird weiter angezeigt. Auch nach dem Versuch, nun den Ordner zu löschen, ist die Datei weiter im Ordner vorhanden. Hat das Programm sich nun beendet, ist die Datei auch nich mehr vorhanden. Also ich hab echt keine Erklärung für dieses Verhalten. Chiao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.