Lecture d'un fichier - Ecriture dans un tube - affichage
Bonjour à tous
s'il vous plaît je voudrais Lire le contenu d'un fichier l'ecriture dans un tube et l'afficher j'ai ecri ce code
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int agrc,char* argv[])
{
int tube[2];
int fichier;
char c;
pipe(tube);
/* Ouverture du Fichier */
fichier=open(argv[0],"r");
if(fichier<0)
{
printf("Erreur d'ouverture du fichier\n");
exit(1);
}else{
close(tube[0]); //Fermeture du tube en lecture
open(tube[1]); //Ouverture du tube en Ecriture
while (read(fichier,&c,1)>0){
write(tube[1],&c,1);
}
close(tube[1]); //Fermeture du tube en Ecriture
close(fichier); // Femeture du fichier
close(tube[1]); //Fermeture du tube en Ecriture
open(tube[0]); //Ouverture du tube en lecture
while (read(tube[1],&c,1)>0){
write(0,&c,1);
close(tube[0]); //Fermeture du tube en lecture
}
}
} |
Quand je l'execute j'ai erreur d'ouverture du chier
mais quand je retire tout le bout de code dans le else
j'ouvre le fichier sans soucci
je ne comprend pas pourquoi
Merci de m'aider à comprendre