So führen Sie nicht blockierende Eingaben in C durch (überprüfen Sie, ob stdin Inhalt hat)
我想大声告诉你
我想大声告诉你 2017-06-17 09:16:16
0
1
1366

getchar, scanf, getch, diese werden blockiert, wenn der Benutzer keine Eingabe macht. Was soll ich tun, wenn ich nicht blockieren möchte?
Ich habe online gesucht und festgestellt, dass fcntl unter Linux, aber nicht unter Windows verwendet werden kann (Sie können GetAsyncKeyState verwenden, um die Schlüssel zu überprüfen, aber Sie können nicht wissen, ob stdin Inhalt hat)

我想大声告诉你
我想大声告诉你

Antworte allen(1)
伊谢尔伦

windwos上有ioctl可以实现,不过这只是设置文件描述符的属性而已,非阻塞的输入还是要配置对应的API才行

找到一个例子不知道是不是你想要的,socket和IO使用的文件描述符是一样的

set nonblock

这些东西都是可以谷歌出来的。。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage