#include <stdio.h>
#include <stdlib.h>
// définition du grain des opérations de lecture/écriture : SIZE octets
#define SIZE 10
int main(int argc,char *argv[]) {
FILE *r;
FILE *w;
char t[SIZE];
size_t lus;
r = fopen("a.data","r"); // en cas d'échec renvoie NULL
if (r==NULL) {
perror("a.data"); // affiche le message d'erreur correspondant au "code d'erreur " contenu dans errno
exit(1); // sortie du programme en échec
}
w = fopen("b.data","w");
if (w==NULL) {
fclose(r);
fprintf(stderr,"pbm b.data");
exit(1);
}
while ((lus=fread(t,sizeof(char),SIZE,r))>0) { // on tente de lire SIZE octets
fwrite(t,sizeof(char),lus,w); // on en écrit autant qu'on en a lu
}
fclose(w); // relâchement des ressources
fclose(r);
exit(0); // sortie du programme en mode "tout s'est bien passé"
}