gpt4 book ai didi

c++ - 如何为控制台输入 (stdin) 获取类似 QIODevice 的信号?

转载 作者:行者123 更新时间:2023-11-30 05:28:23 25 4
gpt4 key购买 nike

我正在编写基于 QCoreApplication 的控制台应用程序,我想在用户向标准输入输入内容时获取信号(一次整行或按字符输入,这对我的应用程序并不重要) .

QFile 根据文档不发出信号,所以如果用户向 stdin 中输入一些内容,有什么想法如何获取信号?

目前我正在使用 qt 4.8.7/linux/amd64,但我希望将来将此代码移植到 macosx 和 windows。

更新

我找到了适用于基于 *nix 的 OS 的解决方案,例如 linuxmac os x:

https://gist.github.com/gjorquera/2576569

但是对于 Windows 来说,它是否也可以使用 QSocketNotfier

最佳答案

对于 Unix(Linux、OS X),this answer有解决办法。

对于 Windows,您不能使用 QSocketNotifier:相反,在您从 GetStdHandle 获得的控制台句柄上使用 QWinEventNotifier(参见 this answer ).该代码与上述答案中的 Unix 变体几乎相同。

关于c++ - 如何为控制台输入 (stdin) 获取类似 QIODevice 的信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36861177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com