我正在尝试理解以下C程序:
#include <curses.h>
int main() {
int i;
initscr();
halfdelay(5);
for (i=0; i < 5; i++)
getch();
endwin();
}
但我无法理解它。我理解initscr()
初始化当前屏幕,getch()
正在等待用户输入解锁当前终端,但循环和halfdelay()
在这里完成了什么?
答案 0 :(得分:6)
halfdelay(n);
设置一个输入模式,其中getch
函数等待n
十分之一秒(在您的示例程序中,半秒),以便用户输入内容。 getch
返回按键,除非计时器过去,在这种情况下它会返回ERR
。可以使用cbreak()
或nocbreak()
再次关闭此模式。
这可以在代码中使用,例如,要求用户进行确认,但如果他们在特定时间范围内没有回复,则默认为某些值。
答案 1 :(得分:0)