c - 如何使 gets() 仅等待特定时间以获取来自 C 中 STDIN 的输入?

标签 c timeout stdin gets

正如标题所述。我在 while(1) 无限循环中有 gets(buffer),它停止在 gets(buffer) 上并无限等待。我希望 gets(buffer) 只等待 3 秒来接收来自 STDIN 的输入,然后在缓冲区中没有字符串时,再次将控制权传递给 while,依此类推。
C是语言
提前致谢!!

最佳答案

标准的gets()函数没有超时功能。规范的 在 C 中的 I/O 操作中实现超时的方法是使用 select() function .

关于c - 如何使 gets() 仅等待特定时间以获取来自 C 中 STDIN 的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657198/

相关文章:

java - JSoup 超时未按预期工作

android - 仅在 Android 而非 iOS 上使用 "Volley"发出的服务器请求超时

mysql - 故意在 MySQL 中制造超时和死锁错误

java - 将所有标准输入读入 Java 字节数组

golang 从 stdin 读取长文本

c - EXT2目录内容

c++ - 获取文件指针的位置

c++ - 将标准输出/标准输入从嵌入式 python 异步重定向到 C++?

c - 为什么这个 for 循环会改变变量的值?

我们只能重新编译内核源代码树中的内核模块吗?