我需要在我的程序中为 getchar() 添加一个超时函数。
我该怎么做才能让我的程序到达指令getchar()时,它只会等待一定的时间让用户进行击键,如果用户没有在给定的时间限制内进行击键, 程序会“跳过” getchar() 吗?
操作系统不支持 conio.h 库,因此 kbhit 不是一个选项。
最佳答案
这通常是通过在 stdin
上使用 select()
来实现的。另一种解决方案是使用 alarm()
和虚拟 SIGALRM 处理程序来中断 getchar()
调用(不过仅适用于 POSIX 系统)。
关于c - 为 getchar() 添加超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322143/