如何创建等待用户输入特定秒数的C程序?在时间限制之后,无论是否输入,程序都会关闭。示例代码请使用fork()和sleep()。对不起,我是新来的。
哇。对不起大家。这不是我的帖子。好像有人使用我的帐户。我无法删除它。
答案 0 :(得分:1)
如果你只是想让程序停下来等待......做一个循环检查输入,使用在变量中保存时钟的开始时间。更新结束时间。如果时间(此处为5秒)已过期,请检查循环。
begin_t = clock();
// do-loop
/* read user input*/
end_t = clock();
// while( end_t - begin_t < 5 * CLOCKS_PER_SEC )
答案 1 :(得分:1)
在我看来,使用fork()和sleep()并不是实现这种结果的最佳方法。使用select()调用会更好,它允许等待超时的数据。
有关示例代码,请参阅the unix manual page on select()。
答案 2 :(得分:1)
执行此操作的正确方法是选择STDIN进行读取,并根据需要设置超时。选择将返回STDIN作为可用于读取或不返回任何内容,这表示超时。