C 参考手册

位置:首页 > C 参考手册 >文件输入/输出 > getchar

定义于头文件 <stdio.h>
int getchar(void);

stdin 读取下一个字符。

等价于 getc(stdin)

参数

(无)

返回值

成功时为获得的字符,失败时为 EOF

若失败由文件尾条件产生,则另外设置 stdin 上的文件尾指示器(见 feof() )。若失败由某些其他错误产生,则设置 stdin 上的错误指示器(见 ferror() )。

示例

getchar带错误检查

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{ 
    int ch;
    while ((ch=getchar()) != EOF)   /* 从stdin读/打印"abcde" */
          printf("%c", ch);
 
    /* 测试抵达EOF的原因。 */
    if (feof(stdin))          /* 若因文件尾条件失败 */
       puts("End of file reached");
    else if (ferror(stdin))   /* 若因某些错误失败      */
         {
            perror("getchar()");
            fprintf(stderr,"getchar() failed in file %s at line # %d\n", __FILE__,__LINE__-9);
            exit(EXIT_FAILURE);
         }
 
    return EXIT_SUCCESS;
}

输出:

abcde
End of file reached

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.7.6 The getchar function (p: 332)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.7.6 The getchar function (p: 298)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.7.6 The getchar function

参阅

从文件流获取一个字符
(函数)