Heim  >  Fragen und Antworten  >  Hauptteil

So führen Sie nicht blockierende Eingaben in C durch (überprüfen Sie, ob stdin Inhalt hat)

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)

我想大声告诉你我想大声告诉你2703 Tage vor1354

Antworte allen(1)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-06-17 09:18:16

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

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

    set nonblock

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

    Antwort
    0
  • StornierenAntwort