_fileno
ストリームに関連付けられているファイル記述子を取得します。
int _fileno(
FILE *stream
);
パラメーター
- stream
FILE 構造体へのポインター。
戻り値
_fileno はファイル記述子を返します。エラーの戻り値はありません。結果は stream を開いたファイルを指定する未定義です。ストリームが NULL 場合_fileno は パラメーターの検証 に説明されているように無効なパラメーター ハンドラーを呼び出します。実行の継続が許可された場合、この関数は -1 を返し、errno を EINVAL に設定します。
これらのプロパティおよびそのほかのエラー コードに関する詳細については_doserrnoerrno_sys_errlist と _sys_nerr を参照してください。
[!メモ]
stdout または stderr が出力ストリーム (たとえばコンソール ウィンドウでWindows アプリケーションで) に関連付けられていない場合返されたファイル記述子は -2 です。以前のバージョンでは返されるファイル記述子は -1 です。この変更はこのエラー条件を区別できるようになります。
解説
_fileno ルーチンは現在 stream に関連付けられたファイル記述子を返します。このルーチンは関数とマクロとして実行されます。どちらの実装を選択する方法の詳細については関数とマクロの使い分け を参照してください。
必要条件
Function |
必須ヘッダー |
---|---|
_fileno |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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 関数
System::IO::FileStream::Handle