Stream Errors

To indicate an error, many stdiolibrary functions return out-of-range values, such as null pointers or the constant EOF. In these cases, the error is indicated in the external variable errno:

#include
extern int errno;

Note that many functions may change the value of errno. Its value is valid only when a function has failed. You should inspect it immediately after a function has indicated failure. You should always copy it into another variable before using it, because printing functions, such as fprintf, might alter errnothemselves.


You can also interrogate the state of a file stream to determine whether an error has occurred, or the end of file has been reached.


#include
int ferror(FILE *stream);
int feof(FILE *stream);
void clearerr(FILE *stream);


The ferrorfunction tests the error indicator for a stream and returns nonzero if it’s set, but zero otherwise.The feoffunction tests the end-of-file indicator within a stream and returns nonzero if it is set, zero oth-erwise. Use it like this:


if(feof(some_stream))
/* We’re at the end */


The clearerrfunction clears the end-of-file and error indicators for the stream to which streampoints.It has no return value and no errors are defined. You can use it to recover from error conditions on streams. One example might be to resume writing to a stream after a “disk full” error has been resolved.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值