范围是否会影响,在从标准输入获取输入或输出到标准输出时检查错误?例如,如果我有一个按以下方式构建的代码体:
void streamCheck(){
if (ferror(stdin)){
fprintf(stderr, "stdin err");
exit(1);
}
if (ferror(stdout)){
fprintf(stderr, "stdout err");
exit(2);
}
}
int main(){
int c = getchar();
streamCheck();
...
putchar(c)
streamCheck();
}
ferror(stdin) / ferror(stdout) 的返回值是否受到我在函数中而不是在主函数中检查它们的影响?如果有更好的方法来做到这一点也让我知道我对 C 很陌生。