Recup le fd /FILE* d'une fifo en c
Eti38
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
mich62120 Messages postés 631 Date d'inscription Statut Membre Dernière intervention -
mich62120 Messages postés 631 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je créé une fifo avec mkfifo en c.
Comment recuperer le file descriptor OU le FILE * de cette fifo pour ecrire et lire dedans....
Merci d'avance!
je créé une fifo avec mkfifo en c.
Comment recuperer le file descriptor OU le FILE * de cette fifo pour ecrire et lire dedans....
Merci d'avance!
A voir également:
- Recup le fd /FILE* d'une fifo en c
- .Bin file - Guide
- Host file - Guide
- .Dat file - Guide
- Iso file - Guide
- File sdcard/dcim - Télécharger - Gestion de fichiers
4 réponses
Salut,
http://www.labri.fr/perso/billaud/travaux/SYSRESEAU/HTML/sysreseau-8.html
Après la création tu l'ouvres comme un fichier normal apparemment.
File* fichier = fopen("ton_chemin", "ton mode d'ouverture");
Par contre je suis pas sur d'avoir tout compris mais il semble important de comprendre ceci:
En fait, il faut ouvrir les deux extrémités simultanément avant de pouvoir effectuer une opération d'écriture ou de lecture. L'ouverture d'un FIFO en lecture est généralement bloquante, jusqu'à ce qu'un autre processus ouvre le même FIFO en écriture, et inversement. Voir fifo(4) pour la gestion non-bloquante d'une FIFO.
Un processus peut ouvrir une FIFO en mode non bloquant. Dans ce cas, l'ouverture en lecture seule réussira même si personne n'a encore ouvert le côté écriture. L'ouverture en écriture seule échouera avec l'erreur ENXIO si l'autre extrémité n'a pas encore été ouverte.
Lien :http://pwet.fr/man/linux/fonctions_bibliotheques/mkfifo/
http://www.labri.fr/perso/billaud/travaux/SYSRESEAU/HTML/sysreseau-8.html
Après la création tu l'ouvres comme un fichier normal apparemment.
File* fichier = fopen("ton_chemin", "ton mode d'ouverture");
Par contre je suis pas sur d'avoir tout compris mais il semble important de comprendre ceci:
En fait, il faut ouvrir les deux extrémités simultanément avant de pouvoir effectuer une opération d'écriture ou de lecture. L'ouverture d'un FIFO en lecture est généralement bloquante, jusqu'à ce qu'un autre processus ouvre le même FIFO en écriture, et inversement. Voir fifo(4) pour la gestion non-bloquante d'une FIFO.
Un processus peut ouvrir une FIFO en mode non bloquant. Dans ce cas, l'ouverture en lecture seule réussira même si personne n'a encore ouvert le côté écriture. L'ouverture en écriture seule échouera avec l'erreur ENXIO si l'autre extrémité n'a pas encore été ouverte.
Lien :http://pwet.fr/man/linux/fonctions_bibliotheques/mkfifo/