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
| int
main(void)
{
char TubeNommeZBI[TAILLE_NOM_FIFO]="TUBZBI";
int TubeZBI_fd;
//Fonction d'Initialisation des pipes
if(open(TubeNommeZBI,O_RDWR | O_NONBLOCK))
{
unlink(TubeNommeZBI);
}
//Création des Pipes Nommés. On teste si la création a échoué. Si oui, renvoie l'erreur et arrêt du programme.
if(mkfifo(TubeNommeZBI,0644) == -1)
{
fprintf(stderr,"erreur de creation du tube nomme %s \n ",TubeNommeZBI);
exit(EXIT_FAILURE);
}
//Ouverture des Pipes Nommés. On teste si l'ouverture a réussi. Si non, renvoie une erreur et arrêt du programme
if((TubeZBI_fd = open(TubeNommeZBI, O_RDWR )) < 0)
{
fprintf(stderr,"erreur d'ouverture du tube nomme %s\n",TubeNommeZBI);
exit(EXIT_FAILURE);
}
FILE *fp;
int i=10;
int nb_elem;
// Ecrire dans le tube
fp=fopen("TUBZBI", "w" );
if (fp == NULL)
printf("erreur d'ouverture")
nb_elem=fwrite(&i, sizeof(long), 1, fp);
if (nb_elem != 1)
printf("erreur d'écriture")
fclose(fp);
} |
Partager