Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Получает дескриптор файла, связанного с потоком.
Синтаксис
int _fileno(
FILE *stream
);
Параметры
stream
Указатель на структуру FILE.
Возвращаемое значение
_fileno возвращает дескриптор файла. Не возвращается ошибка. Результат не определен, если stream не указан открытый файл. Если поток имеет значение NULL, _fileno вызывает обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если продолжение выполнения разрешено, эта функция возвращает –1 и задает для errno значение EINVAL.
Дополнительные сведения об этих и других кодах ошибок см. в разделе errno, _doserrnoи _sys_errlist_sys_nerr.
Примечание.
Если stdout или stderr не связаны с выходным потоком (например, в приложении Windows без окна консоли), возвращается дескриптор файла -2. В предыдущих версиях возвращался дескриптор файла -1. Это изменение позволяет приложениям отличить это условие от ошибки.
Замечания
Подпрограмма _fileno возвращает дескриптор файла, в данный момент связанный с stream. Эта подпрограмма реализуется как функция и макрос. Сведения о выборе любой реализации см . в рекомендациях по выбору между функциями и макросами.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
| 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
См. также
Потоковый ввод-вывод
_fdopen, _wfdopen
_filelength, _filelengthi64
fopen, _wfopen
freopen, _wfreopen