Поделиться через


_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

См. также

Ссылки

Потоковый ввод-вывод

_fdopen, _wfdopen

_filelength, _filelengthi64

fopen, _wfopen

freopen, _wfreopen