Hàm getch() trong linux

Thảo luận trong 'C/C++' bắt đầu bởi integer, 18 Tháng mười hai 2010.

  1. Offline

    integer

    • Tiếu Ngạo Giang Hồ

    • :-?
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    trong linux không có hàm getch(). hàm sau đây để khắc phục tình trạng đó.
    Mã:
        // ham getch() trong linux
        #include <stdio.h>
        #include <unistd.h>
        #include <termio.h>
    
        int getch( void )
        {
        char ch;
        int fd = fileno(stdin);
        struct termio old_tty, new_tty;
    
        ioctl(fd, TCGETA, &old_tty);
        new_tty = old_tty;
        new_tty.c_lflag &= ~(ICANON | ECHO | ISIG);
        ioctl(fd, TCSETA, &new_tty);
        fread(&ch, 1, sizeof(ch), stdin);
        ioctl(fd, TCSETA, &old_tty);
    
        return ch;
        }
    
    Nguồn google. chưa chạy thử

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí