_fileno
Получает идентификатор файла, связанного с потоком.
int _fileno(
FILE *stream
);
Параметры
- stream
Указатель на структуру FILE.
Возвращаемое значение
_fileno возвращает идентификатор файла. Нет какого-либо возврата ошибки. Результат не определен, если stream не связан с открытым файлом. Если поток NULL, то _fileno вызывает обработчик недопустимых параметров, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, функция возвращает -1 и устанавливает errno в EINVAL.
Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Примечание
Если stdout или stderr не связаны с потоком вывода (например, в Windows-приложении без окна консоли), возвращается идентификатор файла -2.В предыдущих версиях возвращался идентификатор файла -1.Это изменение позволяет приложениям отличать это условие от ошибки.
Заметки
Процедура _fileno возвращает идентификатор файла в текущий момент связанный со stream. Эта процедура реализована и как функция, и в качестве макроса. Дополнительные сведения о выборе реализации см. в разделе Выбор между функциями и макросами.
Требования
Функция |
Обязательный заголовок |
---|---|
_fileno |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Пример
// crt_fileno.c
// This program uses _fileno to obtain
// the file descriptor for some standard C streams.
//
#include <stdio.h>
int main( void )
{
printf( "The file descriptor for stdin is %d\n", _fileno( stdin ) );
printf( "The file descriptor for stdout is %d\n", _fileno( stdout ) );
printf( "The file descriptor for stderr is %d\n", _fileno( stderr ) );
}
Эквивалент в .NET Framework
System::IO::FileStream::Handle