So,
hier ist der Code.
Falls einem ein Fehler auffällt, oder anregungen hat, wie ich mein Programm verbessern kann, dann bin ich für die Anregungen sehr dankbar.
Gruß
wa53kefa
Code:
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>
#include <errno.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
int main (void){
DIR *dp;
struct dirent *ep;
struct stat buf;
long unsigned int total = 0;
dp = opendir (".");
if (dp == NULL) {
perror ("opendir");
exit(-1);
}
if (dp != NULL){
while (errno=0, (ep = readdir (dp))!=NULL){
if(ep->d_name[0]!='.'){
stat(ep->d_name, &buf);
if (! S_ISREG(buf.st_mode)){
fprintf(stderr, "Not a regular File!\n");
}else{
printf("%lu\t%s\n", buf.st_size, ep->d_name);
total ++;
}
}
}
printf("Total: %lu\n",total);
}
closedir (dp); /*Keine Fehlerueberpruefung, da der einzige Fehler der Uebergabeparameter seien kann, den ich schon nech opendir() ueberpruefe.*/
return 0;
}