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