FERROR(3) | FreeBSD Library Functions Manual | FERROR(3) |
名称
clearerr, clearerr_unlocked, feof, feof_unlocked, ferror, ferror_unlocked, fileno, fileno_unlocked — ストリームの状態をチェックして、リセットするライブラリ
Standard C Library (libc, -lc)書式
#include < stdio.h> void
clearerr( FILE *stream);
void
clearerr_unlocked( FILE *stream);
int
feof( FILE *stream);
int
feof_unlocked( FILE *stream);
int
ferror( FILE *stream);
int
ferror_unlocked( FILE *stream);
int
fileno( FILE *stream);
int
fileno_unlocked( FILE *stream);
解説
関数 clearerr() は、 stream によって指されるストリームのためのファイルの終り (end-of-file) とエラー指示子をクリアします。関数 feof() は、 stream によって指されるストリームのためのファイルの終り (end-of-file) 指示子をテストし、それが設定されているなら、0 以外を返します。ファイルの終り (end-of-file) 指示子は、 clearerr() を明白に呼び出すことによってか、または他の操作、例えば、 fseek() の副作用としてクリアされます。
関数 ferror() は、 stream によって指されるストリームのためのエラー指示子をテストし、それが設定されているなら、0 以外を返します。
関数 fileno() は、引数 stream を調査し、その整数の記述子を返します。
clearerr_unlocked(), feof_unlocked(), ferror_unlocked() と fileno_unlocked() 関数は、呼び出し側が、それらを呼び出す前に flockfile(3) でストリームをロックすることに責任があることを除いて、それぞれ clearerr(), feof(), ferror() と fileno() と同等です。これらの関数は、複数のスレッドが同じストリームで動作しているとき、ストリームをロックするオーバヘッドを避けて、競合を防ぐために使用することができます。
エラー
これらの関数は、失敗せず、外部変数 errno を設定しません。規格
関数 clearerr(), feof() と ferror() は、 ISO/IEC 9899:1990 (“ISO C90”) に適合しています。January 28, 2009 | FreeBSD |