Je joue avec mkstemp()
, qui fournit un descripteur de fichier, mais je veux générer une sortie formatée via fprintf()
. Existe-t-il un moyen simple de transformer le descripteur de fichier fourni par mkstemp()
en une structure FILE *
Adaptée à une utilisation avec fprintf()
?
Utilisez fdopen()
:
FILE* fp = fdopen(fd, "w");
FILE* f = fdopen(d, "w");
sortie man fdopen:
SYNOPSIS
#include <stdio.h>
FILE *
fdopen(int fildes, const char *mode);
La fonction
fdopen()
associe un flux au descripteur de fichier existant,fildes
. Le mode du flux doit être compatible avec le mode du descripteur de fichier. Lorsque le flux est fermé viafclose(3)
,fildes
est également fermé.