Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/types.h>
  5. #include <sys/stat.h>
  6. #include <dirent.h>
  7. #include <string.h>
  8. #include <limits.h>
  9.  
  10.  
  11. int main(int argc, char *argv[])
  12. {
  13.     struct dirent *ent;
  14.     char filename[PATH_MAX + 1];
  15.     long long sum_size = 0;
  16.     DIR *directory;
  17.     struct stat buf;
  18.     directory = opendir(argv[1]);
  19.     while ((ent = readdir(directory))){
  20.         sprintf(filename, "%s/%s", argv[1], ent -> d_name);
  21.         if (lstat(filename, &buf) ==-1)
  22.             continue;
  23.         if ((S_ISREG(buf.st_mode)) && (!S_ISLNK(buf.st_mode)))
  24.             sum_size += buf.st_size;
  25.     }
  26.     closedir(directory);
  27.     printf("lld\n", sum_size);
  28.     return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement