我怎样才能在wxWidgets中重定向stdin(istream)?

时间:2010-03-15 23:32:14

标签: c++ wxwidgets stdin iostream istream

我正在试图找出如何将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>

1 个答案:

答案 0 :(得分:3)

不,没有内置方法可以做到这一点,因为与cin相比,想要重定向cout的情况要少得多。而且你也不清楚它是如何工作的,即你可能不能像wxTextCtrl一样将它映射到cout。更一般地说,读取是一种阻塞操作,与写入不同,因此根本不清楚如何构建GUI应用程序来实现它。

简而言之,我认为您不能使用cin将控制台程序移植到这样的wxWidgets。