从百度上得知:

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

所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来。

以下是以一个简单的例子:

你会发现当你按下对应的按键的时候就会打印相应的语句。

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <conio.h>
#define ESC 			0x1B
#define ENTER			0x0D
#define SPACE           0x20
#define KEY_UP          72    //上
#define KEY_DOWN        80    //下
#define KEY_LEFT        75 	  //左
#define KEY_RIGHT       77    //右

int  KEY_EXIT_STATU = 0 ;
int  KEY_ENTER_STATU = 0 ;
int  KEY_SPACE_STATU = 0 ;  

int  KEY_UP_STATU = 	0 ;
int  KEY_DOWN_STATU = 	0 ;
int  KEY_LEFT_STATU = 	0 ;
int  KEY_RIGHT_STATU =	0 ;  

char ch ; 

int get_value() ;
int main(void)
{

	int i = 0;
	while(1)
	{
		get_value();
	}
	return 0 ;
}

int get_value()
{
	ch = getch() ;
	system("cls");
	switch(ch)
	{
			case ESC :  KEY_EXIT_STATU = 1 ;
						printf("退出\n") ; break ;
			case ENTER :KEY_ENTER_STATU = 1 ;
						printf("回车\n") ; break ;
			case SPACE :
			 			KEY_SPACE_STATU = 1 ;
						printf("空格\n") ; break ;
			case KEY_UP:case 'w' :
			            KEY_UP_STATU = 1 ;
						printf("上\n") ; break ;
			case KEY_DOWN:case 's' :
						KEY_DOWN_STATU = 1 ;
						printf("下\n") ; break ;
			case KEY_LEFT:case 'a' :
				  		KEY_LEFT_STATU = 1 ;
						printf("左\n") ; break ;
			case KEY_RIGHT:case 'd':
						KEY_RIGHT_STATU = 1 ;
						printf("右\n") ; break ;
	}
}

关于getch()函数的更多相关文章

  1. getch()函数的使用方法及其返回值问题

    getch()函数依赖于头文件 conio.h .会在windows平台下从控制台无回显地取一个字符,并且返回读取到的字符. 然而,我在实际用这个函数才发现getch()这个函数并不简单. getch ...

  2. getch()函数

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

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

    原文:getch().getche()和getchar()函数 getch().getche()和getchar()函数(1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符 ...

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

    区分getchar(),getch(),getche()三个函数: 第一行是手动输入的,第二行是printf输出的. getch()和getche()这两个函数使用时要包含conio.h头文件: ge ...

  5. gets()和getchar()还有getch()的区别

    getch()和getchar()区别:1.getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上例如: char ch;或int ch: getch();或c ...

  6. getchar getche getch

    转至:https://blog.csdn.net/hairetz/article/details/4161954 (1) getch()和getche()函数     这两个函数都是从键盘上读入一个字 ...

  7. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  8. getchar getche getch的区别

    getchar 由宏实现:#define getchar() getc(stdin). getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘 ...

  9. C语言标准io函数总结

    转自:http://blog.csdn.net/sun_top/article/details/4235992本来是在vscode上用markdown排好版的,结果复制到这上面就变了形,无奈. 函数列 ...

随机推荐

  1. 在Activity,Service,Window中监听Home键和返回键的一些思考,如何把事件传递出来的做法!

    在Activity,Service,Window中监听Home键和返回键的一些思考,如何把事件传递出来的做法! 其实像按键的监听,我相信很多人都很熟练了,我肯定也不会说这些基础的东西,所以,前期,还是 ...

  2. 4.3、Android Studio突破64K方法限制

    当应用代码和库代码代码超过64K限制时,早期版本的构建系统会出现如下提示: Conversion to Dalvik format failed: Unable to execute dex: met ...

  3. Android触摸屏幕时间-android学习之旅(三)

    android的多点触摸是经常遇到的编程技巧,这一篇可以将详细的介绍这个问题. 简单实例 android的触摸需要实现OnTouchListener接口,继承里面方法. 布局代码: <?xml ...

  4. 解决WebView加载本地文件乱码

    一.问题描述 这几天现场反馈一些问题,主要是文件浏览有部分文件显示乱码,像这样: 而文件本身又是用WebView加载的,出现有的文件正常有的文件不正常. 二.问题解决 webView 加载主要有:lo ...

  5. ROS_Kinetic_20 ROS基础补充

    ROS_Kinetic_20 ROS基础补充 1 手动创建ROS功能包 参考官网:http://wiki.ros.org/cn/ROS/Tutorials/Creating%20a%20Package ...

  6. UNIX环境高级编程——线程和fork

    当线程调用fork时,就为子进程创建了整个进程地址空间的副本.子进程通过继承整个地址空间的副本,也从父进程那里继承了所有互斥量.读写锁和条件变量的状态.如果父进程包含多个线程,子进程在fork返回以后 ...

  7. Android进阶(二十五)setTextColor()的参数设置方式

    setTextColor()的参数设置方式 查了下资料发现setTextColor()的参数可以写成以下形式: 直接使用颜色值 setTextColor(0xFF0000FF);//0xFF0000F ...

  8. UNIX环境高级编程——信号

    一.信号生命周期 从信号发送到信号处理函数的执行完毕. 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生:信号在进 ...

  9. shell脚本整段注释

    摘自:http://zhidao.baidu.com/link?url=XmCCZmfluRe6n8TjPRKJTx4GGOUPSGX1VNBm-euqGdpKGpveTESxC0HL90UBNT5n ...

  10. javascript之JSON引入

    JSON: JavaScript Object Notation   JavaScript 对象表示法. 由于现在很多在服务器获取数据,很多都涉及json数据格式,因此学习json非常有必要. * 语 ...