#include #include #include #include int main() { DIR *dhandle; struct dirent *drecord; struct stat sbuf; int file_count = 0; long total_size = 0; dhandle = opendir("."); if(dhandle == NULL) { puts("Error opening directory"); return(1); } while( (drecord = readdir(dhandle)) != NULL) { stat(drecord->d_name,&sbuf); if(S_ISDIR(sbuf.st_mode)) printf("%-16s %-9s\n",drecord->d_name,""); else { printf("%-16s %9d\n",drecord->d_name,sbuf.st_size); file_count++; total_size += sbuf.st_size; } } closedir(dhandle); printf("%d file(s) for a total of %d bytes\n",file_count,total_size); return(0); }