> 백엔드 개발 > C++ > 본문

C 콘솔 응용 프로그램에서 화살표 키 누름을 감지하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-09 10:06:02
원래의
726명이 탐색했습니다.

How to Detect Arrow Key Presses in C   Console Applications?

C에서 화살표 키 누르기 감지

많은 개발자가 C 콘솔 애플리케이션에서 화살표 키 누르기를 감지하는 데 어려움을 겪습니다. 이 글의 목표는 다양한 방법을 탐색하고 신뢰할 수 있는 솔루션을 식별하여 이 문제를 해결하는 것입니다.

기존 시도 문제 해결

질문에 설명된 두 가지 방법은 모두 getch( ) 키 누르기를 캡처하는 함수입니다. 그러나 일반적으로 화살표 키를 두 번 연속으로 누르면 발생한다는 사실을 설명하지 못합니다. 첫 번째 키 누르기는 "확장 키" 코드를 나타내고 실제 화살표 키 코드가 이어집니다.

향상된 감지 방법

화살표 키 누름을 정확하게 감지하기 위해 수정된 접근 방식

#include <conio.h>
#include <iostream>
using namespace std;

#define KEY_UP 72
#define KEY_DOWN 80
#define KEY_LEFT 75
#define KEY_RIGHT 77

int main() {
    int c = 0;
    while (1) {
        c = 0;

        switch ((c = getch())) {
        case KEY_UP:
            cout << "Up" << endl;
            break;
        case KEY_DOWN:
            cout << "Down" << endl;
            break;
        case KEY_LEFT:
            cout << "Left" << endl;
            break;
        case KEY_RIGHT:
            cout << "Right" << endl;
            break;
        default:
            cout << "null" << endl;
            break;
        }
    }
    return 0;
}
로그인 후 복사

이 방법은 먼저 "확장 키" 코드를 캡처하여 알려진 키 목록과 비교합니다. 화살표 키 코드. 일치하는 항목이 발견되면 해당 화살표 키 방향이 콘솔에 인쇄됩니다. 캡처된 코드가 화살표 키 코드와 일치하지 않으면 "null" 키 누르기로 간주됩니다.

출력 및 결론

실행하면 프로그램이 성공적으로 감지하고 누른 각 화살표 키에 해당하는 방향을 출력합니다. 이 솔루션은 화살표 키 누르기를 효과적으로 캡처하고 해석하여 개발자가 사용자 입력에 적절하게 반응하는 대화형 콘솔 애플리케이션을 구축할 수 있도록 합니다.

위 내용은 C 콘솔 응용 프로그램에서 화살표 키 누름을 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿