Hallo liebe Helfer,
wie kann ich unter Windows XP feststellen, ob ein Verzeichniseintrag ein weiteres Verzeichnis oder eine Datei ist?
Folgender Code funktioniert dummerweise nicht! Die Funktion stat belegt die Struktur attribut nicht mit Werten.
attribut.st_mode würde ich dann mit S_IFDIR &-verknüpfen. Aber das funktioniert ja im Moment leider nicht.
Danke für jede Hilfe
Xong
wie kann ich unter Windows XP feststellen, ob ein Verzeichniseintrag ein weiteres Verzeichnis oder eine Datei ist?
Folgender Code funktioniert dummerweise nicht! Die Funktion stat belegt die Struktur attribut nicht mit Werten.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
#include "dirent.h"
#include <string.h>
#ifdef __unix__
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#else
#include <sys\stat.h>
#endif
int main() {
struct stat attribut;
attribut.st_mode = 1234; // Wird die 1234 überschrieben werden?
struct dirent * dir_entry_p;
DIR * dir_p = opendir("C:\\");
while( NULL != (dir_entry_p = readdir(dir_p))) {
stat(dir_entry_p->d_name, &attribut); /* Sollte eigentlich die Struktur
attribut mit Werten füllen. */
printf("%d\n\n", attribut.st_mode); // Ausgabe: 1234 !! Wert wurde also nicht belegt.
}
closedir(dir_p);
return 0;
}
attribut.st_mode würde ich dann mit S_IFDIR &-verknüpfen. Aber das funktioniert ja im Moment leider nicht.
Danke für jede Hilfe
Xong