如何在不输入的情况下让gets()返回
控制台程序,一个线程在gets()卡死等待玩家输入
但是我现在得到一个事件,程序要退出,这个时候我怎么才能让gets()返回喃?让线程优雅的退出,有没有什么触发函数啊谢谢
[解决办法]
如果是windows的话,在输入缓存写消息就可以了,
HANDLE stdin_handle = GetStdHandle(STD_INPUT);
WriteFile,这个方法把上面的句柄传进来,写入一个\n应该就返回了。。
[解决办法]
多线程 输入输出用一个线程 逻辑消息处理用另一个线程
[解决办法]
那就先CreateFile,传CONIN$, 加上GENERIC_READ
[解决办法]
GENERIC_WRITE,OPEN_EXISTING,再写入。
更高层,更简单的方法,是用c语言提供的函数
freopen("conin$","w+",stdin);
更改stdin的读写权限,不过我没试过,你可以试试
[解决办法]