带有非阻塞输入的Editline

时间:2010-06-14 11:32:23

标签: c++ editline

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

1 个答案:

答案 0 :(得分:0)

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

当然,如果您的GUI允许您在与主要线程不同的线程中运行它,那么这是有效的。

LATER EDIT:你难道不能只创建一个文本控件/窗口并从那里获取输入吗?按Enter后,它会清除输入 - 就像在控制台上键入消息一样?我相信在GUI中拥有所有内容要简单得多。