首页后端开发ASP.NETc语言getch()的用法是什么?

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

时间2024-02-01 00:26:02发布访客分类ASP.NET浏览907
导读:收集整理的这篇文章主要介绍了c语言getch( 的用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。在c语言中,getch( 函数用于从stdio流中读字符,即从控制台读取一个字符,但不显示在屏幕上;语法为:“int getch...
收集整理的这篇文章主要介绍了c语言getch()的用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。

在c语言中,getch()函数用于从stdio流中读字符,即从控制台读取一个字符,但不显示在屏幕上;语法为:“int getch(void)”,返回读取的字符。

C语言中getch()函数

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

用 法:

int getchar(void);
    

这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的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()的用法是什么?的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

c语言

若转载请注明出处: c语言getch()的用法是什么?
本文地址: https://pptw.com/jishu/594678.html
Webpack3+React16代码分割的实现 three.js如何实现3D动态文字效果

游客 回复需填写必要信息