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 중국어 웹사이트의 기타 관련 기사를 참조하세요!