40 lines
844 B
C
40 lines
844 B
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <fcntl.h>
|
||
|
#include <unistd.h>
|
||
|
#define AVANCER 256
|
||
|
#define STDOUT 1
|
||
|
#define STDERR 2
|
||
|
|
||
|
void erreur(ssize_t resultat, char* message){
|
||
|
if (resultat==-1){
|
||
|
perror(message);
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
int main(int argc, char** argv){
|
||
|
int descripteur;
|
||
|
ssize_t echec;
|
||
|
char tampon[AVANCER];
|
||
|
|
||
|
if (argc < 2){
|
||
|
echec = write(STDERR,"Mauvaise utilisation !\n",23);
|
||
|
erreur(echec, "Affichage sur stderr");
|
||
|
return EXIT_FAILURE;
|
||
|
}
|
||
|
|
||
|
descripteur = open(argv[1], O_RDONLY);
|
||
|
erreur((ssize_t) descripteur, "Ouverture du fichier");
|
||
|
|
||
|
while (echec = read(descripteur, tampon, AVANCER)>0){
|
||
|
echec = write(STDOUT,tampon,echec);
|
||
|
erreur(echec,"Affichage sur stdout");
|
||
|
}
|
||
|
erreur(echec,"lectureFichier");
|
||
|
erreur(close(descripteur),"fermeture du fichier");
|
||
|
|
||
|
return EXIT_SUCCESS;
|
||
|
}
|