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

查看:1128
本文介绍了c++ - C语言如何非阻塞输入(检查 stdin 是否有内容)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

Windows有的。
用_kbhit()(因为是立即返回的,你可能要放到循环里),判断是不是有键按下,然后用_getch()取走。

这篇关于c++ - C语言如何非阻塞输入(检查 stdin 是否有内容)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆