Manpages

名 前

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/ に 書 か れ て い る 。