getch()的问题

时间:2015-10-22 01:24:52

标签: c getch

该程序的目的是以一定的速度打印“Hello World”1000。 用户可以按“f”键加速打印或“s”键以降低速度 和'x'键结束程序。我需要使用getch(),以便它在键盘上执行非阻塞读取。我试过这个,但是我无法理解getch()是如何工作的......

#include<stdio.h>
#include<ncurses.h>

int main()
{
    int speed = 5000000, i;
    char keypress;
    for (i=0; i<1000; i++)
    {
            printf("Hello World!\n");

    keypress = getch();
    switch(keypress)
            {
                    case 'f':
                    speed+= 100000;
                    break;
                    case 's':
                    speed-= 100000;
                    break;
                    case 'x':
                    return;
                    break;
            }
    usleep(speed);
    printf("__________________________________");
    }
    return 0;

}

0 个答案:

没有答案