Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

_fileno

 

Получает идентификатор файла, связанного с потоком.

int _fileno( 
   FILE *stream 
);

stream

Указатель на структуру FILE.

_fileno возвращает идентификатор файла.   Нет возвращаемого значения в случае ошибки   Результат не определен, если stream не связан с открытым файлом.  Если поток NULL, то _fileno вызывает обработчик недопустимых параметров, как описано в разделе Проверка параметров.  Если выполнение может быть продолжено, функция возвращает -1 и устанавливает errno в EINVAL.  

Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.

System_CAPS_noteПримечание

Если stdout или stderr не связаны с потоком вывода (например, в Windows-приложении без окна консоли), возвращается идентификатор файла -2.  В предыдущих версиях возвращался идентификатор файла -1.  Это изменение позволяет приложениям отличать это условие от ошибки.  

Процедура _fileno возвращает идентификатор файла в текущий момент связанный со stream.  Эта процедура реализована и как функция, и в качестве макроса.  Дополнительные сведения о выборе реализации см. в разделе Выбор между функциями и макросами.  

Требования

function

Требуемый заголовок

_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 ) );
}
          The file descriptor for stdin is 0
The file descriptor for stdout is 1
The file descriptor for stderr is 2

Эквивалент в .NET Framework

Показ: