Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dateien in einem Ordner ermitteln c Fehler bei remove(Ordner)

Empfohlene Antworten

Veröffentlicht

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

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 empty
Ist 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?

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

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.