名 前
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 が オ ー プ ン さ れ て い な い 。 |
準 拠
こ れ ら の 関 数 は 標 準 で は な く 、 よ っ て 移 植 性 も な い 。 fpurge() 関 数 は 4.4BSD で 導 入 さ れ た が 、 Linux で は 利 用 で き な い 。 __fpurge() 関 数 は Solaris で 導 入 さ れ 、 glibc 2.1.95 以 降 に は 存 在 し て い る 。
注 意
通 常 は 入 力 バ ッ フ ァ ー を 捨 て よ う と す る の は 間 違 っ て い る 。
関 連 項 目
fflush(3), setbuf(3), stdio_ext(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。