Verzeichnis rekuriv löschen
-
Ich möchte mir eine Funtkion bauen, die verzeichnisse rekursiv löschen kann. Das ganze soll unter linux stattfinden. Ich brauche nun einen kleinen Denkanstoss, wie ich z.B. mit ner Schleife durch ein Verzeichnis gehen kann und dabei prüfe, ob es sich um eine Datei oder um ein verzeichnis handelt.
Im Voraus vielen Dank.
-
Du hast schon den richtigen ansatz.
Du gehst in einer Schleife duch einen Ordner und rufst die gleiche Funktion mit dem neuen Ordnerpfad als Parameter auf, und machst da das gleiche. Wenn du jetzt eine Datei findest löschst du diese, und am ende, wenn keine dateien mehr zur verfügung stehen gehst du ei9ne Funktion zurück.
-
Das ist mir schon klar, ich weiss nur nicht, wie ich teste, ob etwas eine Datei etc. ist. Bin bei c++ noch nicht solange dabei. Schmeisst mir mal eine Codeschnippsel hin, damit ich mich da reinarbeiten kann. Danke
EDIT: Nicht falsch verstehen, ich möchte keine Lösung, sondern einen Ansatz.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ob etwas ein Verzeichnis oder eine Datei ist, kannst du so prüfen:
#include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { struct stat puffer; if(argc<2) printf("Aufruf: check FILE|DIRECTORY"); else if(lstat(argv[1], &puffer) == -1) printf("Datei/Verzeichnis nicht gefunden\n"); else { stat(argv[1], &puffer); if(S_ISREG(puffer.st_mode)) printf("Datei\n"); else if(S_ISDIR(puffer.st_mode)) printf("Verzeichnis\n"); } return 0; }
-
Ok, danke. Ich waer zwar mehr an einer c++ Lösung interessiert gewesen, aber das hier sollte es wohl auch tuen.
-
Ok, danke. Ich waer zwar mehr an einer c++ Lösung interessiert gewesen,
Tja, Linux ist nunmal in C geschrieben....