前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C语言笔记】getchar()、getche()、getch()的区别

【C语言笔记】getchar()、getche()、getch()的区别

作者头像
正念君
发布2019-07-01 17:22:56
1.3K0
发布2019-07-01 17:22:56
举报
文章被收录于专栏:嵌入式大杂烩嵌入式大杂烩

1、getchar()函数

所在头文件:stdio.h

函数原型:int getchar(void);

函数功能:读取控制台输入的字符,并保存在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。

看一段代码:

代码语言:javascript
复制
#include <stdio.h>

int main(void)
{
   printf("%c\n", getchar());

   return 0;
}

当输入一个字符并按回车时,该字符被存入缓冲区中,printf函数再把缓冲区中的该字符输出。如输入输出实例:

代码语言:javascript
复制
d
d

2、getche()函数

所在头文件:conio.h

函数原型:int getche(void);

函数用途:输入后立即从控制台取字符,不以回车为结束,且立刻显示在屏幕上(带回显)。

看一段代码:

代码语言:javascript
复制
#include <stdio.h>
#include <conio.h>
int main(void)
{
   printf("%c\n", getche());

   return 0;
}

该函数的输入输出示例:

代码语言:javascript
复制
dd

也就是说,输入d,直接就输出d,不需要按回车键,即该函数不带缓冲区,且输入有回显。回显的意思就是在控制台显示输入的字符。

3、getch()函数

所在头文件:conio.h

函数原型:int getch(void);

函数用途:从控制台读取一个字符,但不显示在屏幕上(不带回显)。

看一段代码:

代码语言:javascript
复制
#include <stdio.h>
#include <conio.h>
int main(void)
{
   printf("%c\n", getch());

   return 0;
}

输入输出实例:

代码语言:javascript
复制
d

输入d,不会显示d,当调用printf函数后才输出d。控制台读取一个字符,但不显示在屏幕上(不带回显)。

此外,还需要注意的一个问题是:conio.h这个头文件是 windows 平台下特有的,其他平台如 Linux、Mac OS 等平台是没有的,所以使用getch()函数与getche()函数应该注意平台的问题。

以上就是关于getchar()、getche()、getch()的总结,如有错误欢迎指出!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、getchar()函数
  • 2、getche()函数
  • 3、getch()函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档