ungetc
|
ヘッダ
| #include <stdio.h>
|
形 式
| int ungetc(int c, FILE *stream);
|
機 能
| cで指定される文字をunsigned char型に変換してstreamが指す入力ストリームに押し戻す。そのストリームに対する、その後の読取りの際には、押し戻された文字が逆順で返される。押し戻した文字を読み取る前に、同一ストリームに対するファイル位置付け関数(fseek関数、fsetpos関数またはrewind関数)の呼出しが成功すると、その押し戻されていた文字は捨てられる。本関数は、ストリームに対応している外部記憶を変化させない。
あらゆる処理系で、少なくとも1文字の押戻しが保証される。ストリームに対して、読取りまたはファイル位置付けを一度も間にはさまずに、本関数を何度も繰り返し呼び出すと、失敗することがある。
cの値がマクロEOFの値に等しければ、操作は失敗し、入力ストリームは変化しない。
本関数の呼出しが成功すると、そのストリームに対するファイル終了表示子をクリアする。すべての押し戻された文字を読み取るか捨てた後のストリームのファイルの位置表示子の値は、押し戻される前と同じでなければならない。本関数の呼出しが成功してからすべての押し戻された文字を読み取るか捨てるまでの間は、テキストストリームでのファイル位置表示子の値は、規定されない。バイナリストリームの場合、本関数の呼出しが成功するごとにファイル位置表示子を1ずつ減算するが、呼出し前の値が0のときには呼出し後の値は不定である。
|
返却値
| 文字列の終端ナル文字の書込みエラーが発生するとEOFを返し、それ以外のときは非負の値を返す。
|