用C语言写一个程序:如果30秒内没有任何输入,执行下一条语句。平台VC,DOS

2024-12-04 11:26:04
推荐回答(4个)
回答1:

方案一: kbhit(),检测有无按键。有的话getch()去缓冲里拿一个字符,然后检测是直接可打印字符,还是控制按键(像退格、上下左右等等)。就等于自己写了一个文本输入。 这样的话,因为kbhit是非堵塞的,即时返回后可以计算时间来决定是否超时。

方案二:另开一条线程监听标准输入。有输入的内容时发到某个套接字,主程序在套接字这头收数据。然后主程序 这边就可以像linux那样用select来做查询。

回答2:

VC里面有定时器吗,可以试试定时器,如果三十秒之内有输入,就把里面的一个标志变量改成true,然后到三十秒的时候定时器会检查,根据标志变量来判断是否执行一话的

回答3:

vc下有定时器,dos下有定时中断,例子参考turboC的帮助文档。

回答4:

答案不懂,但是这个问题我也想知道