2012-03-09 20 views
8

Guardare la pagina man per fopen Non riesco a ottenere una risposta definitiva a questa domanda.fopen crea un descrittore di file?

FILE *fopen(const char *path, const char *mode); 

Capisco che fopen restituisce un puntatore a file a un flusso, ma è un descrittore di file creato come un sottoprodotto? Sto cercando di assicurarmi di includere il flag FD_CLOEXEC in ogni istanza in cui viene creato un descrittore di file. Se un descrittore di file viene effettivamente creato da fopen qual è il modo migliore per utilizzare fnctl() quando non c'è "fd" da utilizzare come input.

Grazie.

risposta

16

In Unix (che presumo che si sta utilizzando, perché si sta menzionare fcntl) è fa aprire un descrittore di file, come fopen(3) chiama infine open(2). si può ottenere che descrittore di file tramite fileno(3).

Problemi correlati