Namespaces
Variants

getchar

From cppreference.net
< c ‎ | io
定义于头文件 <stdio.h>
int getchar ( void ) ;

stdin 读取下一个字符。

等价于 getc ( stdin )

目录

参数

(无)

返回值

成功时获取的字符或失败时返回 EOF

若失败由文件结束条件引起,则额外设置 eof 指示符(参见 feof() )于 stdin 。若失败由其他错误引起,则设置 error 指示符(参见 ferror() )于 stdin

示例

演示带错误检查的 getchar 用法

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    for (int ch; (ch = getchar()) != EOF;) // 从标准输入读取/打印 "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

参考文献

  • C23 标准 (ISO/IEC 9899:2024):
  • 7.21.7.6 getchar 函数 (p: TBD)
  • C17 标准 (ISO/IEC 9899:2018):
  • 7.21.7.6 getchar 函数 (p: TBD)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.21.7.6 getchar 函数 (p: 332)
  • C99标准(ISO/IEC 9899:1999):
  • 7.19.7.6 getchar函数(页码:298)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.9.7.6 getchar 函数

参见

从文件流获取一个字符
(函数)
C++ 文档 for getchar