在 Linux 中,getchar()
函数用于从标准输入(通常是键盘)读取一个字符
getchar()
函数在成功读取到一个字符时返回该字符,否则返回 EOF
。你可以检查返回值是否为 EOF
,以确定是否发生了异常情况。#include<stdio.h>
int main() {
int c;
printf("Enter a character: ");
c = getchar();
if (c == EOF) {
printf("An error occurred while reading the input.\n");
} else {
printf("You entered: %c\n", c);
}
return 0;
}
ferror()
和 clearerr()
函数:ferror()
函数用于检查流(如标准输入)是否发生了错误,clearerr()
函数用于清除流的错误状态。#include<stdio.h>
int main() {
int c;
printf("Enter a character: ");
c = getchar();
if (ferror(stdin)) {
printf("An error occurred while reading the input.\n");
clearerr(stdin); // 清除错误状态
} else {
printf("You entered: %c\n", c);
}
return 0;
}
feof()
函数:feof()
函数用于检查流是否已到达文件末尾。当 getchar()
返回 EOF
且 feof()
返回非零值时,表示已到达文件末尾。#include<stdio.h>
int main() {
int c;
printf("Enter a character: ");
c = getchar();
if (feof(stdin)) {
printf("End of file reached.\n");
} else if (ferror(stdin)) {
printf("An error occurred while reading the input.\n");
clearerr(stdin); // 清除错误状态
} else {
printf("You entered: %c\n", c);
}
return 0;
}
请注意,这些示例代码仅适用于 C 语言。如果你使用其他编程语言,请参考相应语言的文档以获取处理异常情况的方法。