2 ответов:
правильная функция
int fileno(FILE *stream). Его можно найти в<stdio.h>, и является стандартом POSIX, но не стандартным C.
даже если
fileno(FILE *)может возвращать дескриптор файла, будьте очень осторожны, чтобы не обойти буфер stdio. Если есть данные буфера (чтение или незаполненная запись), чтение/запись из файлового дескриптора может дать вам неожиданные результаты.чтобы ответить на один из побочных вопросов, чтобы преобразовать дескриптор файла в указатель файла, используйте
fdopen(3)
Comments