Code bắt phím không nhận phím Enter

 printf("\nPress enter to continue another reverse, ESC to exit.\n");
    char c;
    fpurge(stdin);
    c = getchar();
    if (c == 13) {
        system("cls");
        goto start;
    } else if (c == 27) {
        exit(1);
    }
    else
        system("cls");
    goto end;

đây là đoạn code mình làm về việc ấn enter to continue và ESC để thoát trong c,nhưng nó lại ko nhận phím enter còn phím ESC thì vẫn nhận bình thường,các cao nhân chỉ giáo giúp mình vs

Em nghĩ gợi ý anh cần là tác dụng của getch() và getchar() trong C. Thử tìm kiếm và nếu tìm được gì thì quay lại đây nhé.

2 Likes

à tại mình code bằng netbeans nên không hộ trợ getch() nên mình phải thay bằng getchar(),nhưng mà cái đoạn code của mình nó vẫn nhận phím ESC nhưng Enter to continue thì lại k nhận

Do conio.h không phải là thư viện chuẩn. Anh dùng complier ngoài đi. Còn việc có hàm nào thay được getch() không thì hình như là không có.
Tốt nhất là qua VS hoặc Code::block mà dùng.

Phải là nhận enter mà ko nhận esc chứ nhỉ. Cơ mà đúng hơn là chẳng nhận phím nào trong 2 phím enter với esc.
Anh check thử bằng code này là biết nó nhận phím nào. Code on phone nên ko biết run được không.

#include <iostream>

using namespace std;

int main(){
    while(1){
        start:
            printf("Start\n");
        end:
        printf("\nPress enter to continue another reverse, ESC to exit.\n");
        char c;
        fpurge(stdin);
        c = getchar();
        if (c == 13) {
            cout << "enter\n";
            goto start;
        }
        else if (c == 27) {
            cout << "esc\n";
            exit(1);
        }
        else{
            cout << "none";
        }

        goto end;
    }
}

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?