c语言getch()的用法是什么?

青灯夜游
发布: 2020-07-24 14:52:56
原创
26983人浏览过
在c语言中,getch()函数用于从stdio流中读字符,即从控制台读取一个字符,但不显示在屏幕上;语法为:“int getch(void)”,返回读取的字符。

c语言getch()的用法是什么?

C语言中getch()函数

功 能: 从stdio流中读字符,即从控制台读取一个字符,但不显示在屏幕上

用 法: 

int getchar(void);
登录后复制

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

立即学习C语言免费学习笔记(深入)”;

Windows下getch()在conio.h的头文件中,要使用getch()函数需要引用conio头文件。

代码:

#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 ; 
  } 

}
登录后复制

注解:

getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.

getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.

如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.

也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.

getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.

getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.

推荐:《c语言教程

以上就是c语言getch()的用法是什么?的详细内容,更多请关注php中文网其它相关文章!

C语言速学教程(入门到精通)
C语言速学教程(入门到精通)

C语言怎么学习?C语言怎么入门?C语言在哪学?C语言怎么学才快?不用担心,这里为大家提供了C语言速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号