_fileno
Akışı ile ilişkili dosya tanımlayıcısı alır.
int _fileno(
FILE *stream
);
Parametreler
- stream
İşaretçi FILE yapısı.
Dönüş Değeri
_filenoDosya tanımlayıcısını döndürür.Döndürülen hata var.Sonuç, tanımsız stream açık bir dosyayı belirtmiyor.Akış ise NULL, _fileno açıklandığı gibi geçersiz bir parametre işleyiciyi çağırır Parametre Doğrulama.Devam etmek için bu iþlev döndüðünde -1 ve kümelerini yürütme izni varsa errno için EINVAL.
Bunlar ve diğer hata kodları hakkında daha fazla bilgi için bkz: _doserrno, errno, _sys_errlist ve _sys_nerr.
[!NOT]
stdout Veya stderr ilişkili değildir (örneğin, bir Windows uygulamasında bir konsol penceresi olmayan) bir çıkış akışı ile döndürülen dosya tanımlayıcısı -2 olur.Önceki sürümlerde, döndürülen dosya tanımlayıcısı -1 oldu.Bu değişiklik, bu durum bir hatadan ayırt etmek uygulamaların verir.
Notlar
_fileno Yordam döndürür ile şu anda ilişkili dosya tanımlayıcısı stream.Bu yordam, işlev olarak hem bir makro olarak uygulanır.Her iki uygulama seçme hakkında daha fazla bilgi için bkz: İşlevler arasında seçme ve makroları.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
_fileno |
<stdio.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Ö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 ) );
}
.NET Framework Eşdeğeri
System::IO::FileStream::Handle