Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <sys/types.h>
  3. #include <sys/stat.h>
  4. #include <fcntl.h>    
  5. #include <unistd.h>
  6. #include <dirent.h>
  7. #include <stdlib.h>
  8.  
  9. int main(int argc , char **argv){
  10.  
  11.     DIR *dir;
  12.     struct dirent *entree;
  13.  
  14.     struct stat info;
  15.  
  16.     int descOutput;
  17.     int descCurrent;
  18.  
  19.     int nbrOc;
  20.     char buffer[1024];
  21.  
  22.    
  23.  
  24.  
  25.  
  26.     if (argc != 2) {
  27.                printf("argg sdq");
  28.                exit(-1);
  29.     }
  30.  
  31.              if (lstat(argv[1], &info) == -1) {
  32.                printf("error stat");
  33.                exit(-1);
  34.            }
  35.  
  36.  
  37.  
  38.  
  39.     if(!S_ISDIR(info.st_mode) ){
  40.         printf("n'est pa dossier  \n");
  41.     }
  42.  
  43.  
  44.     if(chdir(argv[1]) !=0){
  45.         printf("erreur  chdir \n");
  46.     }
  47.  
  48.  
  49.     dir=opendir(".");
  50.  
  51.     descOutput=open("/tmp/filereg",O_WRONLY|O_CREAT|O_TRUNC |O_APPEND,0666);
  52.  
  53.     while(entree=readdir(dir)){
  54.         stat(entree->d_name, &info);
  55.  
  56.         if(S_ISREG(info.st_mode) ){
  57.         printf("%s \n",entree->d_name);
  58.  
  59.         descCurrent=open(entree->d_name,O_RDONLY);
  60.  
  61.         while(nbrOc=read(descCurrent, buffer,1024)){
  62.             printf("%d nbr caracere lu\n",nbrOc );
  63.                 write(descOutput,buffer,nbrOc);
  64.         }
  65.  
  66.  
  67.         close(descCurrent);
  68.  
  69.        
  70.         }
  71.  
  72.  
  73.  
  74.     }
  75.  
  76.     close(descOutput);
  77.  
  78.  
  79.  
  80.  
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement