Advertisement
paulogp

Copiar ficheiro (v. 1.0.1)

Jul 13th, 2011
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.57 KB | None | 0 0
  1. // Apple Xcode
  2.  
  3.  
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7.  
  8.  
  9. int main (int argc, const char * argv[]) {
  10.     // copy file
  11.     FILE *the_from, *the_to;
  12.     char the_ch;
  13.  
  14.  
  15.     // path source / destination
  16.     char the_source_path[255];
  17.     strcpy(the_source_path, "/Users/.../Desktop/S03_E20.avi");
  18.  
  19.     char the_destination_path[255];
  20.     strcpy(the_destination_path, "/Users/.../Desktop/S03_E20_copy.avi");
  21.  
  22.  
  23.     // open source file
  24.     if ((the_from = fopen(the_source_path, "rb")) == NULL) {
  25.         printf("erro na abertura do ficheiro original\n");
  26.         exit(1);
  27.     }
  28.  
  29.     // open destination file
  30.     if ((the_to = fopen(the_destination_path, "wb")) == NULL) {
  31.         printf("erro na abertura do ficheiro destino\n");
  32.         exit(1);
  33.     }
  34.  
  35.     // sop
  36.     printf("iniciando a copia\n");
  37.  
  38.     // copy the file
  39.     while (!feof(the_from)) {
  40.         the_ch = fgetc(the_from);
  41.  
  42.         if (ferror(the_from)) {
  43.             printf("erro na leitura do ficheiro de origem\n");
  44.             exit(1);
  45.         }
  46.  
  47.         if (!feof(the_from)) {
  48.             fputc(the_ch, the_to);
  49.         }
  50.  
  51.         if (ferror(the_to)) {
  52.             printf("erro na escrita do ficheiro destino\n");
  53.             exit(1);
  54.         }
  55.     }
  56.  
  57.  
  58.     // close
  59.     if (fclose(the_from) == EOF) {
  60.         printf("erro no fecho do ficheiro de origem\n");
  61.         exit(1);
  62.     }
  63.  
  64.     if (fclose(the_to) == EOF) {
  65.         printf("erro no fecho do ficheiro de destino\n");
  66.         exit(1);
  67.     }
  68.  
  69.     // eop
  70.     printf("fim do processo\n");
  71.  
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement