_fileno_fileno

스트림에 연결된 파일 설명자를 가져옵니다.Gets the file descriptor associated with a stream.

구문Syntax

int _fileno(
   FILE *stream
);

매개 변수Parameters

스트림stream
FILE 구조체에 대한 포인터입니다.Pointer to the FILE structure.

반환 값Return Value

_fileno 는 파일 설명자를 반환 합니다._fileno returns the file descriptor. 오류가 반환 되지 않습니다.There's no error return. 스트림이 열려 있는 파일을 지정 하지 않으면 결과가 정의 되지 않습니다.The result is undefined if stream does not specify an open file. Stream이 NULL인 경우 매개 변수 유효성 검사에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 _fileno 합니다.If stream is NULL, _fileno invokes the invalid parameter handler, as described in Parameter Validation. 계속해서 실행하도록 허용된 경우 이 함수는 -1을 반환하고 errnoEINVAL로 설정합니다.If execution is allowed to continue, this function returns -1 and sets errno to EINVAL.

이 오류 및 다른 오류 코드에 대한 자세한 내용은 _doserrno, errno, _sys_errlist 및 _sys_nerr를 참조하세요.For more information about these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

참고

Stdout 또는 stderr 이 출력 스트림과 연결 되어 있지 않은 경우 (예: 콘솔 창이 없는 Windows 응용 프로그램에서) 반환 된 파일 설명자는-2입니다.If stdout or stderr is not associated with an output stream (for example, in a Windows application without a console window), the file descriptor returned is -2. 이전 버전에서 반환된 파일 설명자는 -1이었습니다.In previous versions, the file descriptor returned was -1. 이렇게 변경되어 애플리케이션이 이 조건을 오류와 구분할 수 있습니다.This change allows applications to distinguish this condition from an error.

설명Remarks

_Fileno 루틴은 현재 스트림과연결 된 파일 설명자를 반환 합니다.The _fileno routine returns the file descriptor currently associated with stream. 이 루틴은 함수 및 매크로로 구현됩니다.This routine is implemented both as a function and as a macro. 구현 선택에 대한 자세한 내용은 함수와 매크로 중 선택을 참조하세요.For information about choosing either implementation, see Choosing Between Functions and Macros.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

요구 사항Requirements

기능Function 필수 헤더Required header
_fileno_fileno <stdio.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For more compatibility information, see Compatibility.

예제Example

// 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

참고 항목See also

스트림 I/OStream I/O
_fdopen, _wfdopen_fdopen, _wfdopen
_filelength, _filelengthi64_filelength, _filelengthi64
fopen, _wfopenfopen, _wfopen
freopen, _wfreopenfreopen, _wfreopen