getch()函数

这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!

中文名

外文名

getch

头文件

conio.h

注意事项

此函数非标准函数,请注意移植性

语    种

C语言,C++兼容

目录


1主要内容


2易错点

1主要内容编辑

getch():

所在头文件:conio.h

函数用途:从控制台读取一个字符,但不显示在屏幕

函数原型:int getch(void)

返回值:读取的字符

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();会等待你按下任意键,再继续执行下面的语句;

用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。

2易错点编辑

1.所在头文件是conio.h。而不是stdio.h

2.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数

也会返回的情况。

3.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)

1)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。

2)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。

3)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。

getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();(如果情况允许)代替此功能或更换一款编译器

时间: 2024-12-23 15:49:27

getch()函数的相关文章

用取巧的方法实现getch()函数的功能

使用 getch() 函数,需要先引入 conio.h 头文件 然而,我使用的是 cygwin 作为编译环境,找不到 conio.h ,所以只能想办法找替代方法,或者自己构造一个具有类似功能的函数. 可惜,刚学编程没多久,一时之间也是没有想到什么合适的替代方法,若说自己构造这个函数,这就更难了. 于是百度,终于找到了取巧的方式. 原理为:临时关闭终端的缓存,然后使用 getchar() ,这样就能直接获取按键,而不用等到按下回车键才生效. 测试代码如下: 1 #include <stdio.h>

关于getch()函数

从百度上得知: 这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性! 所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来. 以下是以一个简单的例子: 你会发现当你按下对应的按键的时候就会打印相应的语句. #include <stdio.h> #include <fcntl.h> #include

getch()、getche()和getchar()函数

getch().getche()和getchar()函数(1) getch()和getche()函数  这两个函数都是从键盘上读入一个字符.其调用格式为:  getch();  getche();  两者的区别是:getch()函数不将读入的字符回显在显示屏幕上,而getche() 函数却将读入的字符回显到显示屏幕上.       例1:        #include"stdio.h"       #include"conio.h"       void main

区分getchar(),getch(),getche()三个函数:

区分getchar(),getch(),getche()三个函数: 第一行是手动输入的,第二行是printf输出的. getch()和getche()这两个函数使用时要包含conio.h头文件: getch()函数,也是接收键盘输入的一个字符,但不用回车确认! getche函数,同样接收一个字符,不需要回车确认!但输入时明文显示(回显). 以上三个函数,请大家亲自上机即可理解,有问题随时留言!欢迎大家提问! 原文地址:https://www.cnblogs.com/Xiangzhong-com/

关于Linux下clrsrc函数的实现

在windows下,c语言有库conio.h,实现了不少函数,但是Linux c没有这个库,内部的函数需要自己实现. //clrsrc清屏函数的一种实现:void clrscr(void) { system("clear");//需要头文件stdlib.h }//调用system("clear") //getch()函数的一种实现方法#include<stdio.h> #incldue<stdlib.h> int main(){ char c

getchar getche getch的区别

getchar 由宏实现:#define getchar() getc(stdin). getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCⅡ码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存

C语言标准io函数总结

转自:http://blog.csdn.net/sun_top/article/details/4235992本来是在vscode上用markdown排好版的,结果复制到这上面就变了形,无奈. 函数列表:clearerr() 清除错误 fclose() 关闭一个文件 feof() 如果到达文件尾(end-of-file)返回"True"(真) ferror() 检查一个文件错误 fflush() 书写输出缓存的内容 fgetc() 从流获取一个字符 fgetpos() 获取文件位置指针

getch与getchar区别

getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上 getchar(): 所在头文件:stdio.h getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车, 只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1. 输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示 有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继

C/C++ scanf函数中%s和%c的简单区别

首先声明:在键盘中敲入字符后,字符会首先保存在键盘缓冲区中供scanf函数读取(scanf,getchar等函数是读取缓冲区,getch函数是读取的控制台信息,即为直接从键盘读取).另外特别注意键盘上敲入回车实际为"\r\n",但存储到缓冲区时候会舍弃'\r'而只存储\n.例如我们敲入字符"12345回车",缓冲区内存储的为"12345\n". 文章中"_"代表空格 代码: char *s; scanf("%s&qu