pipe - C - Programmation
Marsh Posté le 25-03-2006 à 22:31:42
Un descripteur de fichier, c'est une variable qui identifie le fichier
Tu le passe aux fonctions qui permettent d'interagir avec ces fichiers.
Marsh Posté le 25-03-2006 à 22:54:26
Le système d opération gère les fichiers ouverts en lecture/écriture en les numérotants.
Un descripteur de fichier est un numéro de fichier ouvert.
Il permet aussi de récupérer des informations sur le fichier en plus des données: sa taille, sa date de création/modification, etc... (ça dépends de ce que peut gérer le sysème de fichier).
Un pipe est un fichier ouvert en lecture OU écriture, généralement présent en mémoire sous forme d un tampon (buffer en anglais), dont la tête de lecture ne peut être rembobinée.
Un pipe sert souvent à transférer des données d un processus à l autre: l un ouver un pipe en lecture, l autre en écriture. Il set alors de canal de communication à sens unique.
Un pipe nommé possède en plus un nom de fichier sur le disque.
Les fonctions principales pour gérer les descripteur de fichier:
open(): ouvre un fichier, crée un descripteur
read(): lit à partir d un descripteur
write(): écrit à partir d un descripteur
close(): ferme un descripteur
Les fonctions principales pour gérer les descripteur de fichier avec tampon (les données sont écrites bloc par bloc sur le disque plutot qu octet par octet):
fopen()
fread()
fwrite()
fclose()
fflush(): stocke le bloc courant sur le disque et vide le tampon mémoire
fdopen(): associe un tampon au descripteur ouvert par open()
Les fonction principales pour gérer les pipes:
pipe(): crée un tube en mémoire
mkfifo(): crée un tube nommé sur le disque
Marsh Posté le 25-03-2006 à 20:45:28
Bonjour,
est ce que quelqu'un peut me dire ce que c'est un descripteur de fichier dans un pipe? et à quoi ça sert?
merci bcp