PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzeichnis listen



axeljaeger
13-11-2002, 14:51
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

tkortkamp
13-11-2002, 14:57
Du meintest doch system("ls"), oder?
Ein Beispiel aus der Manpage von scandir:


/* 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);
}
}

Um Verzeichnisse zu wechseln benutzt du chdir() siehe auch man 2 chdir.

c ya,
Tobias

axeljaeger
20-11-2002, 17:19
Jetzt muß ich nur noch wissen, wie ich eine Datei von einem Verzeichnis unterscheiden kann, dann kann ich meinen Filerequester fertig programmieren

The Ripper
20-11-2002, 18:30
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.