如何使gets()在C中只等待来自STDIN的输入的特定时间?
正如标题所述。我在如何使gets()在C中只等待来自STDIN的输入的特定时间?,c,timeout,stdin,gets,C,Timeout,Stdin,Gets,正如标题所述。我在中有gets(buffer),而(1)无限循环,它在gets(buffer)上停止并无限等待。我希望get(buffer)只等待3秒钟,然后在缓冲区中没有字符串时,再次将控制权传递给while,以此类推。 C是语言 提前谢谢 标准的get()函数没有超时功能。经典的 在C中实现I/O操作超时的方法是使用。您不应该使用gets,而应该使用fgets,因为gets是不安全的。如果缓冲区太小,则会出现缓冲区溢出。切勿使用get。永远不要使用get。因为这还不够,所以永远不要使用get
中有gets(buffer)
,而(1)
无限循环,它在gets(buffer)
上停止并无限等待。我希望get(buffer)
只等待3秒钟,然后在缓冲区中没有字符串时,再次将控制权传递给while,以此类推。C是语言
提前谢谢 标准的
get()
函数没有超时功能。经典的
在C中实现I/O操作超时的方法是使用。您不应该使用
gets
,而应该使用fgets
,因为gets
是不安全的。如果缓冲区太小,则会出现缓冲区溢出。切勿使用get
。永远不要使用get
。因为这还不够,所以永远不要使用get
。曾经有没有办法用STDIN作为套接字实现select()?在select()中设置timeout-tv_sec-in一段时间,做我想做的事?@azrahel查看STDIN_FILENO