ferror
来自cppreference.com
| 在标头 <stdio.h> 定义
|
||
| |
||
检查给定文件流的错误。
参数
| 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); // 不是合法的 UTF-8 序列
fclose(f);
setlocale(LC_ALL, "en_US.utf8");
f = fopen(fname, "rb");
wint_t ch;
while ((ch=fgetwc(f)) != WEOF) // 试图读作 UTF-8 而失败
printf("%#x ", ch);
if (feof(f))
puts("EOF indicator set");
if (ferror(f))
puts("Error indicator set");
}
输出:
Error indicator set