Verzeichniss und struct stat
-
Hallo Community,
ich hab eine frage, ich möchte aus verscheidenen User Verzeichnissen die größe eines Verzeichnisses auslesen.
Sprich ich habe
users
|
user1
| doc
user2
| doc
usw.nun gehe ich hin und öffne das verzeichniss USERS mit readdir();
dann lese ich bis auf die punkte(.) in einer while schleife das verzeichniss USERS aus.
in der while schleife gehe ich hin und bestimme den pfad /users/userX/doc/ und speichere das in die structur stat, das problem ist das bei einem schleifen durchlauf klappt das, beim nächsten hat er immer noch die gleichen Daten in der structur vom ersten durchlauf.hier ein wenig code:
while((entry = readdir(dir)) != NULL) { if (!strstr(entry->d_name, ".")) { strcpy(string, ""); strcat(string, argv[1]); strcat(string, entry->d_name); strcat(string, string_doc); stat(string, &status); if (S_ISDIR(status.st_mode)) { printf("%ld", status.st_size); } else {puts("Fehler abbruch"); exit(0);}; if (status.st_size > 0) { fprintf(fp_cgi, "%s\n", entry->d_name); } else { fprintf(fp_no, "%s\n", entry->d_name); } printf("%s <-- Dir_String\n%ld <-- Größe von verz!\n", string, status.st_size); } }
Ich bedanke mich jetzt schon mal für die Antworten und hoffe das mir wer helfen kann
MFG
Illu