我可以等到用户A完成输入他的消息,直到我显示用户B的消息,但这太容易了。 我读到可以创建两个separate Console Windows(一个用于输入,一个用于输出)。
有办法吗?
例如,两个不同的线程使用两个不同的游标访问控制台窗口。
看起来这可能是红宝石,但我用C ++写作。
答案 0 :(得分:1)
在“旧时代”,有许多DOS控制台类型的程序,它们移动光标以在屏幕上的各个位置绘制文本。你可以做类似的事情。假设控制台窗口高25行,您可以将其中的20个用于接收消息的“历史记录”,分隔线,然后为当前传出消息创建4行。
当收到消息时,删除旧消息,然后重新绘制旧消息,然后在其位置写入新消息。然后继续接受输入消息的输入。
您需要定义在给定行上写入输入的函数,以便将文本放在您希望它所在的行上。另一个看似简单的选择是使用GUI吗?只是说。你提供了一个拥有多个控制台窗口的链接,所以你显然知道如何做到这一点。
+-------------------------------+
| TOM: Hey man does this work? |
| TOM: wow you type slow. |
| |
| |
| |
| |
+-------------------------------+
| Yes, it seems to be worki |
+-------------------------------+