我正在尝试弄清楚如何将 istream 重定向到 wxwidgets。
我能够完成重定向 ostream,方法如下(所以你知道我的意思):
wxTextCtrl* stdoutctrl = new wxTextCtrl(...);
wxStreamToTextRedirector redirect(stdoutctrl); //Redirect ostream
std::cout<<"stdout -- does this work?"<<std::endl; //It worked.
我现在已经搜索了一段时间,但我找不到我将 istream 重定向到某种 wx-input(所以“cin”实际上会提示用户通过 wxWidgets 输入)。
最佳答案
不,没有内置的方法可以做到这一点,因为与 cout
相比,像这样重定向 cin
的情况要少得多。而且您还不清楚您希望它如何工作,即您可能不能像使用 cout
那样将它映射到 wxTextCtrl
。更一般地说,与写入不同,读取是一种阻塞操作,因此根本不清楚如何构建 GUI 应用程序来完成它。
简而言之,我认为您根本无法像这样将使用 cin
的控制台程序移植到 wxWidgets。
关于c++ - 我如何在 wxWidgets 中重定向标准输入(istream)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451209/