您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言getchar()函数:从控制台读取字符并立即回显

时间:12-29来源:作者:点击数:

头文件:#include <stdio.h>

函数getchar()用于从标准输入控制台读取字符,原型如下:
    int getchar(void);

【参数】该函数没有参数。

【返回值】函数的返回值为用户输入的第一个字符的ASCII码,若出错返回-1,且将用户输入的字符回显到屏幕。如果用户在按回车键之前输入了不只一个字符,其他字符会保留在键盘缓冲区中,等待后续getchar()调用读取。也就是说,后续的getchat()调用不会等待用户按键,而是直接读取缓冲区中的字符,直到缓冲区的字符读取完毕后,才等待用户按键。

【说明】getchar()非真正函数,而是getc(stdin)宏定义。

【实例】下面的示例演示了getchar()函数的使用,使用该函数获取标准输入控制台中的字符,直到按回车键结束,代码如下。

#include<stdio.h>
void main( ){
    int c;
    while( (c=getchar()) != '\n' )  //从控制台流中读取字符,直到按回车键结束
        printf ("%c", c);  //输出读取内容
}

运行上述程序后,将采用getchar()函数获取当前控制台的输入,直到按回车键结束,并将其输出。

读者可以尝试将第5行的 printf ("%c", c) 改成printf ("%d", c),看看有什么效果。

请读者再来看一个例子,代码如下:

#include<stdio.h>
void main()
{
    char ch = getchar();
    char ch2 = getchar();
    printf("You put char is %c\n",ch);
    printf("You put char is %c\n",ch2);
    system("pause");
    return;
}

例子本身很简单,但是仔细分析会发现有许多需 要注意的地方。输入字符wes然后按回车键出现运行结果。这里着重与getch()对比分析。首先,它需要按回车键才能返回。其次, 它返回的是缓冲区的第一个字符。再者它可以连续多次获取在按回车键前输入的多个字符。而getchO则是无回显的且不需要按回车键即返回。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门