#include <stdio.h> #include <stdio_ext.h> size_t __fbufsize(FILE *stream); size_t __fpending(FILE *stream); int __flbf(FILE *stream); int __freadable(FILE *stream); int __fwritable(FILE *stream); int __freading(FILE *stream); int __fwriting(FILE *stream); int __fsetlocking(FILE *stream, int type); void _flushlbf(void); void __fpurge(FILE *stream);
__fbufsize() 関数は、指定されたストリームが使用しているバッファーサイズを返す。
__fpending() 関数は、出力バッファーに入っているデータのバイト数を返す。 ワイドキャラクターを扱うストリームの場合、ワイドキャラクター単位で計算される。 バッファーが読み出しモードの場合や読み出し専用で開かれている場合の この関数の振舞いは未定義である。
__flbf() 関数は、ストリームがラインバッファーの場合は 0 以外を、 それ以外の場合は 0 を返す。
__freadable() 関数は、ストリームが読み出し可能な場合は 0 以外を、 それ以外の場合は 0 を返す。
__fwritable() 関数は、ストリームが書き込み可能な場合は 0 以外を、 それ以外の場合は 0 を返す。
__freading() 関数は、ストリームが読み出し専用の場合、またはストリームに対する直前の操作が 読み出し操作であった場合は 0 以外を返し、それ以外の場合は 0 を返す。
__fwriting() 関数は、ストリームが書き込み専用(もしくは追加専用)の場合、 またはストリームに対する直前の操作が書き込み操作であった場合は 0 以外を返し、 それ以外の場合は 0 を返す。
__fsetlocking() 関数は、ストリームのロック形式を選択するために使用できる。 返り値は、現在のロック形式である。 type 引数は以下の 3 種類の値をとることができる :
_flushlbf() 関数は、すべてのラインバッファー (line-buffered) タイプのストリームの 内容を出力(フラッシュ)する。 (当然ながら、端末への出力が強制的に行われることになるので、 キーボードからの入力を読みこむ前にこの関数を呼んだ方がいいだろう)
__fpurge() 関数は、ストリームのバッファーの内容を廃棄する。
インターフェース | 属性 | 値 |
__fbufsize(),
__fpending(),
__fpurge(), __fsetlocking() | Thread safety | MT-Safe race:stream |
__flbf(),
__freadable(),
__freading(), __fwritable(), __fwriting(), _flushlbf() | Thread safety | MT-Safe |