C Programmieren Ordner Löschen

Guten Morgen allerseits :D

ich lerne gerade C programmieren...

und würde gerne wissen, wie man einen Ordner löschen kann [bzw. welche Dateityp ein Ordner hat, eine Textdatei z.B. .txt, dann gibts noch .html .exe etc.]. Es gibt ja den Befehl remove(), in die Klammern kommt der Dateipfad mit dem Dateinamen - und so wie ich das bisher gemerkt habe, muss eben an den Dateinamen noch die Endung des Dateityps ran, damit der Befehl funktioniert.

Vielleicht gibt es ja noch eine andere Möglichkeit außer remove(), würde gerne von einer solchen wissen :thumb_up:

Vielen Dank 8)
 
Die Dateierweiterung/Dateiendung ist Teil des Dateinamens, auch wenn dir dein Explorer diese ggf. nicht anzeigt. Das kannst du dem aber in den Einstellungen beibringen. Ein Textdatei, die dir im Explorer nur als "foobar" angezeigt wird, heisst also eigentlich "foobar.txt".

Allgemein zum Löschen von Dateien empfehle ich dir die Beispiele von Datei Stream Eingabe Ausgabe fopen fgets fputs fread fwrite fgetc fputc gets puts sscanf sspintf ...

Willst du allerdings einen Ordner löschen, solltest du rmdir() verwenden. Also ist der Ablauf zum Löschen eines Ordners jener, dass du erstmal den Inhalt des Ordners löschst und dann den Ordner selbst mit rmdir() entfernst.
 
besten Dank schonmal! Kurz noch zum Dateinamen: Wie kann ich das jetzt genau mit dem Explorer (u.a. welcher?) machen, welche Einstellungen muss ich ändern, dass die Dateiendung mir angezeigt wird?

edit:

--hat sich erledigt^^-- nur noch die untere Frage steht :P
 
Zuletzt bearbeitet:
und noch etwas: Wie kann man den gesamten Inhalt auf einmal löschen? Wäre ja ziemlich stressig, immer jeden Dateinamen einzeln einzutippen^^
 
Dateiendungen im Explorer anzeigen lassen

C bietet dir auch die Möglichkeit den Inhalt des Ordners einzulesen und dann in einer Schleife die entsprechenden Löschoperationen durchzuführen. Google oder eine C-Referenz wird dir auch diesbezüglich sicherlich weiterhelfen. ;) Tipp: Einfach mal nach readdir() suchen.
 
Der C Standard bietet keine Funktionen die einen Ordner löschen können. Das ist plattformabhängig. Dieses readdir() gibt es denk ich nur bei unixartigen Betriebssystemen. Für Windows siehe hier
 
ach und ein Tipp von mir,

wenn du damit rumspielst, versuches es in einer VM oder sei sicher das nie falsche Dateinamen/Ordner reinkommen in den Löschbefehl
 
Der C Standard bietet keine Funktionen die einen Ordner löschen können. Das ist plattformabhängig. Dieses readdir() gibt es denk ich nur bei unixartigen Betriebssystemen. Für Windows siehe hier

Für Windows: benutz doch einfach DOS befehle mit system("Befehl");
check natürlich vorher im code was du da genau machst mit findfirst und konsorten
 
Zurück
Oben