Aracılığıyla paylaş


_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.

Dekont

Çı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 Öneriler.

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

Function 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