fpurge - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
fpurge, __fpurge - ストリームを一掃 (purge) する
書式
/* unsupported */ #include <stdio.h>
int fpurge(FILE *stream);
/* supported */ #include <stdio.h>
#include <stdio_ext.h>
void __fpurge(FILE *stream);
説明
fpurge ()関数は、与えられたストリームのバッファをクリアする。 出力ストリームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこれを行うと、 下層にあるオブジェクトから読み込まれ getc (3)による取得を待っている入力が、すべて捨てられる。 これには ungetc ()によって戻されたテキストも含まれる。 fflush (3) も参照のこと。
__fpurge ()関数も全く同じことを行うが、ただし返り値を返さない。
返り値
成功すると fpurge ()は 0 を返す。 エラーが起こると -1 を返し、 errno を適切な値に設定する。
エラー
- EBADF
- stream がオープンされていない。
準拠
これらの関数は標準ではなく、よって移植性もない。 fpurge ()関数は 4.4BSD で導入されたが、Linux では利用できない。 __fpurge ()関数は Solaris で導入され、glibc 2.1.95 以降には存在している。
注意
通常は入力バッファを捨てようとするのは間違っている。
関連項目
fclean
(3),
fflush
(3),
setbuf
(3),
stdio_ext
(3)