189 votes

Comment puis-je convertir un pointeur de fichier (FILE * fp) à un descripteur de fichier (int fd) ?

J’ai un , retourné par un appel à . J’ai besoin d’obtenir un descripteur de fichier d’elle, de faire des appels comme `` à ce sujet. Quelle est la fonction pour obtenir un descripteur de fichier à partir d’un pointeur de fichier ?

231voto

Novelocrat Points 12126

Le bon fonctionnement est . Il peut être trouvé dans , et fait partie de la bibliothèque C standard sur les systèmes UNIX ou similaires de SVR2 partir.

48voto

Mark Gerolimatos Points 341

Même si fileno(FILE *) peut retourner un FD, soyez très attention à ne pas contourner la mémoire tampon de stdio. Si il y a des données de tampon (écriture soit lu ou intègres), lectures/écritures de la fd pourrait vous donner des résultats inattendus.

Pour répondre à l’une de ces questions de côté, pour convertir un FD vers un pointeur de fichier, utiliser fdopen(3)

-6voto

Iansus Points 1

Ou vous pouvez utiliser directement :

Sans inclure, non rien

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X