gpt4 book ai didi

c++ - 用户在输出文本时输入控制台

转载 作者:行者123 更新时间:2023-11-30 05:32:24 27 4
gpt4 key购买 nike

我正在写聊天记录。我的问题是,当用户 A 键入他们的消息时,用户 B 已经完成了他的消息。用户 A 仍在打字,收到了消息,这弄乱了他的控制台窗口。

我可以等到用户 A 完成他的消息输入后再显示用户 B 的消息,但这太容易了。我读到可以创建两个 separate Console Windows (一个用于输入,一个用于输出)。

有办法吗?

例如,两个不同的线程使用两个不同的游标访问控制台窗口。

这在 ruby​​ 中似乎是可能的,但我正在用 C++ 编写。

最佳答案

在“过去”,有很多 DOS 控制台程序,它们可以移动光标在屏幕上的不同位置绘制文本。你可以做类似的事情。假设控制台窗口有 25 行高,您可以将其中 20 行用于接收消息的“历史记录”,分隔线,然后 4 行用于当前传出消息。

当收到消息时,删除旧消息,然后将旧消息重新绘制到更高的位置,然后在其位置写入新消息。然后继续接受正在输入的消息的输入。

您需要定义在给定行上写入输入的函数,这样您就可以将文本放在您希望它所在的行上。另一个看似简单的选项是使用 GUI?只是说。您提供了用于拥有多个控制台窗口的链接,因此您显然知道该怎么做。

+-------------------------------+
| TOM: Hey man does this work? |
| TOM: wow you type slow. |
| |
| |
| |
| |
+-------------------------------+
| Yes, it seems to be worki |
+-------------------------------+

关于c++ - 用户在输出文本时输入控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com