_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 EINVAL
ayarlanırerrno
.
Bunlar ve diğer hata kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _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 stream
iliş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