Anche se fileno(FILE *)
potrebbe restituire un descrittore di file, fare MOLTA attenzione a non bypassare il buffer di stdio. Se sono presenti dati del buffer (letti o scritti non scaricati), le letture/scritture dal descrittore di file potrebbero darti risultati imprevisti.
Per rispondere a una delle domande secondarie, per convertire un descrittore di file in un puntatore FILE, usa fdopen(3)
La funzione corretta è int fileno(FILE *stream)
. Può essere trovato in <stdio.h>
, ed è uno standard POSIX ma non lo standard C.