Bonjour,

j'ai écrit un programme permettant de copier un fichier dans un autre.
Le soucis que j'ai, c'est que la copie n'a pas lieu.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <stdio.h>
#include <stdlib.h>
 
int copy(FILE *fdi, FILE *fdo)
{
  char buf[BUFSIZ];
  unsigned int lus;
  lus = fwrite(buf, sizeof(char), BUFSIZ, fdi);
  if(fread(buf, lus, 1, fdo) != lus)
    return 1;
  return 0;
}
 
int main(int argc, char *argv[])
{
  FILE *src, *dst;
  if(argc != 3)
    {
      fprintf(stderr,"Usage : test src dest\n");
      return EXIT_FAILURE;
    }
  if((src = fopen(argv[1],"r")) == NULL)
    {
      fprintf(stderr,"erreur ouverture du fichier\n");
      return EXIT_FAILURE;
    }
  if((dst = fopen(argv[2],"w")) == NULL)
    {
      fclose(src);
      fprintf(stderr,"erreur ouverture du fichier\n");
      return EXIT_FAILURE;
    }
  if(copy(src, dst) == 1)
    {
      fclose(src);
      fclose(dst);
      return EXIT_FAILURE;
    }
  fclose(src);
  fclose(dst);
  return EXIT_SUCCESS;
}
Si quelqu'un pouvait m'indiquer ce qui cloche ?

Merci