| FPURGE(3) | Linux Programmer's Manual | FPURGE(3) |
名前
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(3) によって戻されたテキストも含まれる。 fflush(3) も参照のこと。
__fpurge() 関数も全く同じことを行うが、ただし返り値を返さない。
返り値
成功すると fpurge() は 0 を返す。 エラーが起こると -1 を返し、 errno を適切な値に設定する。
エラー
- EBADF
- stream がオープンされていない。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
| インターフェース | 属性 | 値 |
| __fpurge() | Thread safety | MT-Safe race:stream |
準拠
これらの関数は標準ではなく、よって移植性もない。 fpurge() 関数は 4.4BSD で導入されたが、Linux では利用できない。 __fpurge() 関数は Solaris で導入され、glibc 2.1.95 以降には存在している。
注意
通常は入力バッファーを捨てようとするのは間違っている。
関連項目
fflush(3), setbuf(3), stdio_ext(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
| 2017-09-15 |