Verzeichnis Auflisten
-
Hey Folks,
Ich suche grade nach einer Möglichkeit, Dateien in einem gegebenen Verzeichnis mit gegebener Dateiendung aufzulisten, um sie danach durch einen Parser zu schicken. Wie realisiere ich das am besten ? Welche Funktionen stehen mir da zur Verügung ? Möglichst ANSI C ...
Danke !
-
mit ansi c gehts leider nicht, aber die meisten compiler unterstützen das durchsuchen eines verzeichnisses mit opendir, readdir und closedir (POSIX standart).
#include <stdio.h> #include <dirent.h> int main() { DIR *dir; struct dirent *z; dir=opendir("."); // aktuelles verzeichnis while ((z=readdir(dir))!=NULL) { printf("Datei: %s", z->d_name); } closedir(dir); }
-
Da diese Funktionen nicht von allen Kompilern unterstützt werden, möchte ich sie nur ungern benutzen.
Gibts denn überhaupt keine Möglichkeit, dieses vorhaben in ANSI C zu realisieren ?
-
nein, arbeit mit verzeichnissen gehört leider nicht zum ansi standart :(, es gibt auch WinAPI Funktionen zum auslesen (FindFirstFile, FindNextFile), mit denen hab ich aber noch nie gearbeitet. Die einzigen zum ansi standart gehörenden funktionen sind remove und rename (stdlib: datei löschen und umbenennen).
-
Mh schade.
Was hab ich für Alternativen ? Mal von den Kompilerabhängigen Funktionen und MFC abgesehn ...
Gibts irgendwas in C++ ?
Oder könnte man sich schnell was zusammencoden ?
-
abgesehen von den zwei oben gennanten lösungen vllt. gibts ja irgendeine bibliothek für sowas, aber die dirent.h gibts doch eigentlich bei fast jedem compiler bsp. Borland oder mingw (bzw. gcc/g++)
-
Kann es Plattformunabhängig verwendet werden ?
-
dirent.h?
die ist auch unter linux vorhanden mitsamt den genannten funktionen, ist ja schließlich POSIX standart
-
Nun gut.
I'll give it a try.Falls noch jemandem etwas dazu einfällt, alternative lösungswege etc. dann nur zu.
THX erstma.