首页  >  问答  >  正文

c++ - C语言如何非阻塞输入(检查 stdin 是否有内容)

getchar,scanf,getch,这些,如果用户没有输入就会阻塞,如果不希望阻塞,应该怎么办?
网上搜了一下,Linux可以用 fcntl,但 Windows 就不行了(可以用 GetAsyncKeyState 检查按键,但是不能知道stdin 是否有内容)

我想大声告诉你我想大声告诉你2703 天前1355

全部回复(1)我来回复

  • 伊谢尔伦

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

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

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

    set nonblock

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

    回复
    0
  • 取消回复