c++ - 我如何在 wxWidgets 中重定向标准输入(istream)?

标签 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.

我现在已经搜索了一段时间,但我找不到我将 istream 重定向到某种 wx-input(所以“cin”实际上会提示用户通过 wxWidgets 输入)。

最佳答案

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

简而言之,我认为您根本无法像这样将使用 cin 的控制台程序移植到 wxWidgets。

关于c++ - 我如何在 wxWidgets 中重定向标准输入(istream)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451209/

相关文章:

java - 使用递归来获取数组的子集。 C++ 和 Java 给我不同的结果

c++ - 复制构造函数产生访问冲突后的 flann::Index 的析构函数

c++ - 使用 GCC-4.8.1 在 MinGW 上编译 wxWidgets-2.8.12 时出错

用于跨平台桌面应用程序的 Ruby?

rust - 如何阅读打印品前的文字!信息?

javascript - 如何使用节点和 JavaScript 在按 Enter 之前从终端读取用户输入?

c - 函数无法正确从标准输入读取

c++ - 使用 iostream << 序列化用户对象

c++ - 转换指南

c++ - 当光标到达wxTextCtrl时如何在wxWidgets中创建一个事件