>  기사  >  백엔드 개발  >  C 언어에서 getch()의 사용법은 무엇입니까?

C 언어에서 getch()의 사용법은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-07-24 14:52:5625663검색

C 언어에서 getch() 함수는 stdio 스트림에서 문자를 읽는 데 사용됩니다. 즉, 콘솔에서 문자를 읽지만 화면에는 표시되지 않습니다. 구문은 "int getch(void)"입니다. 문자를 읽는 것.

C 언어에서 getch()의 사용법은 무엇입니까?

C 언어의 getch() 함수

기능: stdio 스트림에서 문자를 읽습니다. 즉, 콘솔에서 문자를 읽지만 화면에는 표시하지 않습니다.

사용법:

int getchar(void);

이 기능은 사용자가 특정 문자를 누르면 Enter를 누르지 않고도 자동으로 해당 문자를 읽어주는 기능입니다. 일부 C 언어 명령줄 프로그램에서는 이 기능을 사용하여 게임을 만들지만 이 기능은 표준 기능이 아닙니다. . 휴대성에 주의하세요! Windows의

getch()는 conio.h的头文件中,要使用getch()函数需要引用conioheader 파일에 있습니다.

코드:

#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 &#39;w&#39; :  
            KEY_UP_STATU = 1 ; 
            printf("上\n") ; break ; 
      case KEY_DOWN:case &#39;s&#39; : 
            KEY_DOWN_STATU = 1 ;  
            printf("下\n") ; break ; 
      case KEY_LEFT:case &#39;a&#39; : 
            KEY_LEFT_STATU = 1 ; 
            printf("左\n") ; break ; 
      case KEY_RIGHT:case &#39;d&#39;: 
            KEY_RIGHT_STATU = 1 ; 
            printf("右\n") ; break ; 
  } 

}

참고:

getchar에는 int 반환 값이 있습니다. 프로그램이 getchar를 호출하면 프로그램은 사용자가 키를 누를 때까지 기다립니다. 사용자는 캐리지 리턴(캐리지 리턴 문자도 버퍼에 위치함)까지 뒤로 누릅니다. 사용자가 캐리지 리턴을 입력하면 getchar는 stdio 스트림에서 한 번에 한 문자를 읽기 시작합니다. 는 사용자 ASCII 코드가 입력한 첫 번째 문자이며, 오류가 발생하면 -1이 반환되고 사용자가 입력한 문자가 화면에 표시됩니다.

사용자가 Enter 키를 누르기 전에 두 개 이상의 문자를 입력하면 다른 문자가 표시됩니다. 이후의 getchar 호출 읽기를 기다리면서 키보드 버퍼 영역에 유지됩니다.

즉, 후속 getchar 호출은 사용자가 키를 누를 때까지 기다리지 않고 버퍼의 문자를 직접 읽지 않습니다.

getch와 getchar 기본 기능은 동일하지만 getch는 키보드에서 직접 키 값을 가져오고 사용자가 누를 때까지 기다리지 않습니다. 사용자가 키를 누르는 동안 getch는 즉시 반환됩니다. getch의 반환 값은 사용자가 입력한 ASCII 코드입니다. 오류가 발생하면 입력한 문자가 화면에 표시되지 않습니다. .getch 기능은 프로그램 디버깅에 자주 사용됩니다. 디버깅하는 동안 관련 결과가 보기용으로 표시되며, getch 기능은 아무 키나 누르면 프로그램이 계속 실행됩니다. 추천: "

c 언어 튜토리얼

"

위 내용은 C 언어에서 getch()의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.