如何让用户输入不会阻止应用程序循环的命令。就像它在游戏服务器中完成一样,因此管理员用户可以踢出玩家,或通过发出控制台命令来生成东西。
我已经阅读过我可以通过为它创建新线程来实现它。但是如果我要做,让我们调用它,输入将用std::cin
阻塞的线程,然后主线程将结束,输入线程将因为std::cin
阻塞而不会加入。
如果在主线程即将返回时有一种方法可以杀死这样的输入线程 - 这将是我最喜欢的解决方案。但我想没有这样的方式,或者如果它存在,那就不是安全的了。
此外,我已经阅读了基于文件描述符集和select
函数的kbhit实现,但它在Windows上不起作用。
如果解决方案不需要我自己处理箭头,退格键,删除和移位键码,那就太棒了。