如何在使用GNU readline从stdin读取时将消息输出到另一个线程上的stdout而不会弄乱输入?
对不起,长标题。我正在用C开发一个网络程序,它可以在stdout上显示从网络接收的消息,并通过GNU readline库接受stdin上的用户输入。
问题是,当用户通过readline在主线程上键入命令时,网络消息到达并输出到stdout,这将产生如下所示的内容:
场景:
输入:1234567890
网络留言:您好
当用户输入“7”时,网络消息到达
终端的实际输出:
输入> 1234567Hello
890_
有没有办法让这样的输出?
你好
输入> 1234567890_
附: _是光标。
提前致谢!
没有找到相关结果
已邀请:
4 个回复
翁茄口霉氖
青董据零
并读取用户正在输入的每个
。如果在用户输入清除当前行时收到任何网络消息,则输出网络消息,然后重新打印用户当前正在输入的行。 这似乎是很多工作,但这是我现在想到的唯一方法。 如果你转储
然后你可以使用
,这使它更容易...
勺的驴吓识
淘圃跺枯替