【问题标题】:Editline with non-blocking input具有非阻塞输入的编辑线
【发布时间】:2011-03-03 11:38:07
【问题描述】:

我在我的程序中使用 editline 库,用于在 shell 中输入用户命令。但是由于 shell,程序有一个 gui 界面,所以我需要在单独的线程中运行 editline 的 readline() 函数,因为它会阻塞直到按下 Enter。有没有办法在不阻塞的情况下使用 readline() 函数,这样我就可以避免单独使用线程?

【问题讨论】:

  • 你的意思是你的GUI程序也会从控制台读取?这很令人费解。

标签: c++ editline


【解决方案1】:

为什么不让 GUI 线程在不同的线程中运行,并将控制台输入留在主线程中。从命令行读取后,您可以将事件推送到 GUI 线程。在我看来,这要简单得多。

如果您的 GUI 允许您在与主线程不同的线程中运行它,这当然可以。

稍后编辑:您不能只创建一个文本控件/窗口并从那里获取输入吗?按下 Enter 后,它会清除输入 - 就像在控制台输入消息一样?我相信在 GUI 中包含所有内容要简单得多

【讨论】:

  • 问题是我有一个限制,程序会在一个线程中执行。
猜你喜欢
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
  • 2011-01-25
  • 2010-10-01
  • 2011-12-27
相关资源
最近更新 更多