UNGETC(3)

名称
ungetc - 入力ストリームから文字を戻す

ライブラリ
libc

書式
#include <stdio.h> int ungetc(int c, FILE *stream)

解説
ungetc() 関数は、 (符号なしchar に変換されている) 文字 c を stream が指す入力ストリームに戻します。 プッシュバックされた文字は、 次にそのストリームを読んだときには (逆の順序で) 返されます。 プッシュバックした文字は、 そのストリームから読み出す前に、 ファイル位置検索関数 ((fseek) 3, fsetpos(3), または rewind(3)) のいずれかへの割り込み呼び出しが 成功すると廃棄されます。

1 文字分のプッシュバックは保証されていますが、十分なメモリ がある限り、実質的には限度なしのプッシュバックが可能です。

文字のプッシュバックに成功すると、 そのストリームのファイル終了表示子を クリアします。

戻り値
ungetc() 関数は、変換後にプッシュバックされたキャラクタを返すか、 またはその操作に失敗した場合は EOF を返します。引数 c の文字値が EOF に等しい場合は、 その操作は失敗してストリームは変更されません。

参照
fseek(3), getc(3), setvbuf(3)

規格
ungetc() 関数は、 isoC に適合しています。