Wie kann ich den Inhalt eines Verzeichnisses einlesen? Ich möchte meine gebastelte Lösung mit system("cd"); rauswerfen und gegen was Vernünftiges ersetzen
Wie kann ich den Inhalt eines Verzeichnisses einlesen? Ich möchte meine gebastelte Lösung mit system("cd"); rauswerfen und gegen was Vernünftiges ersetzen
Du meintest doch system("ls"), oder?
Ein Beispiel aus der Manpage von scandir:
Um Verzeichnisse zu wechseln benutzt du chdir() siehe auch man 2 chdir.Code:/* print files in current directory in reverse order */ #include <dirent.h> main(){ struct dirent **namelist; int n; n = scandir(".", &namelist, 0, alphasort); if (n < 0) perror("scandir"); else { while(n--) { printf("%s\n", namelist[n]->d_name); free(namelist[n]); } free(namelist); } }
c ya,
Tobias
Jetzt muß ich nur noch wissen, wie ich eine Datei von einem Verzeichnis unterscheiden kann, dann kann ich meinen Filerequester fertig programmieren
man 2 stat
hilft dir weiter
/E: statt scandir() kannst du auch opendir() und readdir() verwenden, die Funktionen sind POSIX-konform (falls du dein Programm auf andere Plattformen portieren willst) und geben den Dateityp zurück.
Geändert von The Ripper (20-11-2002 um 18:36 Uhr)
Lesezeichen