等待用户输入特定秒数的C程序

时间:2013-08-24 09:52:14

标签: c input fork sleep

如何创建等待用户输入特定秒数的C程序?在时间限制之后,无论是否输入,程序都会关闭。示例代码请使用fork()和sleep()。对不起,我是新来的。

哇。对不起大家。这不是我的帖子。好像有人使用我的帐户。我无法删除它。

3 个答案:

答案 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作为可用于读取或不返回任何内容,这表示超时。

http://linux.die.net/man/2/select