GNU/Linux >> Tutoriels Linux >  >> Linux

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

Même si fileno(FILE *) peut renvoyer un descripteur de fichier, faites TRES attention à ne pas contourner le tampon de stdio. S'il existe des données tampon (lues ou non vidées), les lectures/écritures à partir du descripteur de fichier peuvent donner des résultats inattendus.

Pour répondre à l'une des questions annexes, pour convertir un descripteur de fichier en un pointeur FILE, utilisez fdopen(3)


La bonne fonction est int fileno(FILE *stream) . Il peut être trouvé dans <stdio.h> , et est une norme POSIX mais pas la norme C.


Linux
  1. Comment convertir un fichier PPK en PEM à l'aide de la commande

  2. Comment puis-je convertir CentOS en système d'exploitation CloudLinux ?

  3. Comment puis-je lier symboliquement un fichier sous Linux?

  4. Comment fonctionnent les limites des descripteurs de fichiers Linux ?

  5. Comment puis-je créer un fichier dans chaque dossier ?

Comment convertir une image de caméra Raw en JPEG sous Linux

Comment convertir un fichier Windows en un fichier UNIX

Comment convertir tar.bz2 en tar.gz ?

Comment le contenu dmesg peut-il être connecté à un fichier ?

Comment puis-je obtenir un binaire à partir d'un fichier .py

Comment puis-je utiliser sudo pour vérifier si un fichier existe ?