c - 为 getchar() 添加超时

标签 c time input timeout getchar

我需要在我的程序中为 getchar() 添加一个超时函数。

我该怎么做才能让我的程序到达指令getchar()时,它只会等待一定的时间让用户进行击键,如果用户没有在给定的时间限制内进行击键, 程序会“跳过” getchar() 吗?

操作系统不支持 conio.h 库,因此 kbhit 不是一个选项。

最佳答案

这通常是通过在 stdin 上使用 select() 来实现的。另一种解决方案是使用 alarm() 和虚拟 SIGALRM 处理程序来中断 getchar() 调用(不过仅适用于 POSIX 系统)。

关于c - 为 getchar() 添加超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322143/

相关文章:

clock() - c 函数的执行时间

c# - SWIG:以 OO 方式包装 C API

c - 如何使用 pthread 并行化嵌套循环?

c++ - 使用 libconfig 存储加密数据

c - 使用 GNU clock() 处理处理器计时溢出

ios - 如何按用户或自动获取时间设置 ios

MySQL 查询返回当前结果的时间总和

c - 从命令行打开的 .txt 文件中读取整数

css - 更改占位符的字体系列

javascript - 在 Angularjs 中格式化输入值