fpurge(3) ストリームを一掃 (purge) する

Other Alias

__fpurge

書式


/* unsupported */
#include <stdio.h>


int fpurge(FILE *stream);


/* supported */
#include <stdio.h>
#include <stdio_ext.h>

void __fpurge(FILE *stream);

説明

fpurge() 関数は、与えられたストリームのバッファをクリアする。 出力ストリームでこれを行うと、書き出されていない出力は捨てられる。 入力ストリームでこれを行うと、 下層にあるオブジェクトから読み込まれ getc(3) による取得を待っている入力が、すべて捨てられる。 これには ungetc(3) によって戻されたテキストも含まれる。 fflush(3) も参照のこと。

__fpurge() 関数も全く同じことを行うが、ただし返り値を返さない。

返り値

成功すると fpurge() は 0 を返す。 エラーが起こると -1 を返し、 errno を適切な値に設定する。

エラー

EBADF
stream がオープンされていない。

準拠

これらの関数は標準ではなく、よって移植性もない。 fpurge() 関数は 4.4BSD で導入されたが、Linux では利用できない。 __fpurge() 関数は Solaris で導入され、glibc 2.1.95 以降には存在している。

注意

通常は入力バッファを捨てようとするのは間違っている。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。