#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é" }