_fileno
Ruft den Dateideskriptor ab, der einem Stream zugeordnet ist.
Syntax
int _fileno(
FILE *stream
);
Parameter
stream
Zeiger auf die FILE
-Struktur.
Rückgabewert
_fileno
gibt den Dateideskriptor zurück Es gibt keine Fehlerrückgabe. Das Ergebnis ist nicht definiert, wenn stream
keine geöffnete Datei angegeben wird. Wenn Datenstrom lautet NULL
, _fileno
wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die Ausführung weiterhin zugelassen wird, gibt diese Funktion -1 zurück und legt errno
auf EINVAL
fest.
Weitere Informationen zu diesen und anderen Fehlercodes finden Sie unter , , _doserrno
, _sys_errlist
und _sys_nerr
.errno
Hinweis
Wenn stdout
oder stderr
nicht mit einem Ausgabestream verknüpft sind (z.B. in einer Windows-Anwendung ohne ein Konsolenfenster), lautet der zurückgegebene Dateideskriptor -2. In früheren Versionen lautete der zurückgegebene Dateideskriptor -1. Diese Änderung ermöglicht es Anwendungen, diese Bedingung von einem Fehler unterscheiden.
Hinweise
Die _fileno
-Routine gibt den Dateideskriptor zurück, der derzeit stream
zugeordnet ist. Diese Routine wird sowohl als Funktion und als Makro implementiert. Informationen zum Auswählen einer implementierung finden Sie unter Empfehlungen für die Auswahl zwischen Funktionen und Makros.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Funktion | Erforderlicher Header |
---|---|
_fileno |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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
Siehe auch
Stream-E/A
_fdopen
, _wfdopen
_filelength
, _filelengthi64
fopen
, _wfopen
freopen
, _wfreopen