C参考手册
文件输入/输出 | File input/output
ferror
在头文件<stdio.h>中定义 |
|
|
---|---|---|
int ferror(FILE * stream); |
|
|
检查给定的流是否有错误。
参数
流 |
- |
要检查的文件流 |
---|
返回值
非零值,如果文件流发生错误,0
否则。
例
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <wchar.h>
int main(void)
{
char* fname = tmpnam(NULL);
FILE* f = fopen(fname, "wb");
fputs("\xff\xff\n", f); // not a valid UTF-8 character sequence
fclose(f);
setlocale(LC_ALL, "en_US.utf8");
f = fopen(fname, "rb");
wint_t ch;
while ((ch=fgetwc(f)) != WEOF) // attempt to read as UTF-8 fails
printf("%#x ", ch);
if (feof(f))
puts("EOF indicator set");
if (ferror(f))
puts("Error indicator set");
}
输出:
Error indicator set
参考
- C11标准(ISO / IEC 9899:2011):
- 7.21.10.3恐怖功能(p:339)
- C99标准(ISO / IEC 9899:1999):
- 7.19.10.3恐怖功能(p:305)
- C89 / C90标准(ISO / IEC 9899:1990):
- 4.9.10.3恐怖功能