Alle Dateien eines Ordners auslesen
-
Hallo,
ich möchte alle in einem Ordner enthaltenen Textdateien nacheinander auslesen.
char Line[128]; int i; char Folder[] = {"c:\\test"}; FILE *Datei; if ((_chdir(Folder)) != -1) { if (Datei = _popen("dir /b *.txt","rt") != NULL) { fgets(Line, 128, Datei); ... } else { printf("fehler"); } }
In der Zeile mit "_popen" möchte ich prüfen, ob überhaupt Textdateien vorhanden sind. Nun gibt die pipe ja keinen Fehler zurück, sondern lediglich das Ergebnis von "dir". Wenn keine Textdateien vorhanden sind, bedeutet das für _popen noch keinen Fehler... leider.
Wie kann man das lösen? Gibt es evtl. eine elegantere Lösung?
Ich bin noch etwas frün in Sachen C.
Danke
-
_popen("dir /b *.txt > ergebnis.dat","rt")
Danach öffnest du die Datei ergebnis.dat und liest die Daten aus
-
Vielleicht ist dies auch hilfreich.
http://www.tutorials.de/showthread.php?s=&threadid=131077&highlight=findfirst
-
DoctorO schrieb:
ich möchte alle in einem Ordner enthaltenen Textdateien nacheinander auslesen.
#include <sys/types.h> #include <dirent.h> int main() { DIR *mydir; struct dirent *myent; mydir = opendir("/home/doctoro"); while (myent = readdir(mydir)) { printf("%s\n", myent->d_name); } closedir(mydir); }
... hätte ich jetzt mal gesagt