2010-03-15 12 views
4

我想弄清楚如何将istream重定向到wxwidgets。我该如何重定向wxWidgets中的stdin(istream)?

我能够完成重定向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提示用户输入)。

回答

3

不,没有内置的方法来做到这一点,因为它不太常见,想要重定向cin这样比较,与cout相比。而且它也不是很清楚你如何期待它的工作,即你可能不能像cout那样将它映射到wxTextCtrl。更一般地说,与编写不同,阅读是一项阻塞操作,所以根本不清楚如何构建GUI应用程序来完成它。

总之,我不认为你可以使用cin这样的wxWidgets移植你的控制台程序。