我正在试图找出如何将istream重定向到wxwidgets。
我能够完成重定向ostream,这是怎么回事(所以你知道我的意思):
wxTextCtrl* stdoutctrl = new wxTextCtrl(...);
wxStreamToTextRedirector redirect(stdoutctrl); //Redirect ostream
std::cout<<"stdout -- does this work?"<<std::endl; //It worked.
我现在一直在搜索,我无法找到我将某个wx-input重定向到istream(所以“cin”实际上会提示用户通过wxWidgets输入)。 / p>
答案 0 :(得分:3)
不,没有内置方法可以做到这一点,因为与cin
相比,想要重定向cout
的情况要少得多。而且你也不清楚它是如何工作的,即你可能不能像wxTextCtrl
一样将它映射到cout
。更一般地说,读取是一种阻塞操作,与写入不同,因此根本不清楚如何构建GUI应用程序来实现它。
简而言之,我认为您不能使用cin
将控制台程序移植到这样的wxWidgets。