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