在使用getstr时,如何对ncurses中的输入施加时间限制?

时间:2014-05-21 16:06:41

标签: c ncurses

假设我想限制用户在ncurses中使用getstr函数时输入文本的时间。我怎么做到这一点?

1 个答案:

答案 0 :(得分:3)

来自this site

  

超时(毫秒) ---默认情况下,如果您调用getch(),它将永远等待用户按下某个键。如果你在调用getch()之前调用timeout(0),它就不会等待 - 如果用户已经输入了一个字符,它将被返回;如果不是,则返回预定义的常量ERR。如果为timeout()指定参数的正值,则getch()将愿意在返回之前等待很多毫秒。例如,如果你说超时(1000)然后调用getch(),它将等待一秒钟。如果用户在此时键入了一个字符,则会返回该字符;否则,返回值将为ERR。您可以调用timeout(-1)将getch()重置为其默认行为,永远等待。您可以使用timeout()编写一个事件驱动的程序,该程序可以连续执行某种动画,但在用户按下某个键时仍会响应。 main()函数通常看起来像: