_fileno

Bir akışla ilişkili dosya tanımlayıcısını alır.

Sözdizimi

int _fileno(
   FILE *stream
);

Parametreler

stream
Yapı işaretçisi FILE .

Dönüş değeri

_fileno dosya tanımlayıcısını döndürür. Hata döndürme yok. Açık bir dosya belirtilmezse stream sonuç tanımsız olur. stream iseNULL, _fileno Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, bu işlev -1 döndürür ve olarak EINVALayarlanırerrno.

Bunlar ve diğer hata kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Not

Çıkış akışıyla ilişkili değilse stdout veya stderr yoksa (örneğin, konsol penceresi olmayan bir Windows uygulamasında), döndürülen dosya tanımlayıcısı -2'dir. Önceki sürümlerde döndürülen dosya tanımlayıcısı -1 idi. Bu değişiklik, uygulamaların bu koşulu bir hatadan ayırt etmesine olanak tanır.

Açıklamalar

Yordamı, _fileno şu anda ile streamilişkilendirilmiş dosya tanımlayıcısını döndürür. Bu yordam hem işlev hem de makro olarak uygulanır. Herhangi bir uygulamayı seçme hakkında bilgi için bkz . İşlevler ve makrolar arasında seçim yapma önerileri.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

İşlev Gerekli başlık
_fileno <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Ayrıca bkz.

Akış G/Ç
_fdopen, _wfdopen
_filelength, _filelengthi64
fopen, _wfopen
freopen, _wfreopen