Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.06 KB | None | 0 0
  1. #include …
  2. int mostra_dir(const char *nome_dir){
  3.     DIR *dir_d;
  4.     int finito, n_entradas;
  5.     struct dirent *dir_entry;
  6.     dir_d = opendir(nome_dir);
  7.     if( dir_d == NULL ){
  8.         fprintf(stderr,
  9.         "erro: impossível abrir DIR '%s' - %s\n",
  10.             nome_dir, strerror(errno));
  11.         return -1;
  12.     }
  13.     n_entradas = 0;
  14.     finito = 0;
  15. ()   do{
  16.         dir_entry = readdir(dir_d);
  17.         if( dir_entry == NULL){
  18.             if(errno){
  19.                 fprintf(stderr,
  20.             "erro: readdir (entrada %d)\n", n_entradas);
  21.                 closedir(dir_d);
  22.                 return -1;
  23.             }else{
  24.                 printf("Iteração de DIR '%s' "
  25.                     "terminada (%d entradas)\n",
  26.                     nome_dir, n_entradas);
  27.                 finito = 1;
  28.             }
  29.         }else{
  30.             printf("entrada: '%s'\n", dir_entry->d_name);
  31.             n_entradas++;
  32.         }
  33.     }while(finito==0);
  34. ()  
  35.     if( closedir(dir_d) == -1 ){
  36.         fprintf(stderr,"erro: impossível fechar DIR '%s' - %s\n",
  37.                 nome_dir, strerror(errno));
  38.         return -1;
  39.  
  40.     }
  41.     printf("DIR '%s': %d entradas\n", nome_dir, n_entradas);
  42.     return 0;
  43. }
  44.  
  45. int main(void){
  46.     char *nome_diretorio = "."; /* current DIR */
  47.     mostra_dir(nome_diretorio);
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement