Einzelnen Beitrag anzeigen
Ungelesen 30.06.10, 17:08   #10
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard

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;
}
wa53kefa ist offline   Mit Zitat antworten