gpt4 book ai didi

c - 在提示上方打印聊天消息?

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:42 25 4
gpt4 key购买 nike

对于我的情况,假设蒂姆和鲍勃正在使用我的 C 聊天客户端和服务器聊天。我的聊天客户端和服务器在 bash 终端上执行。此聊天程序的光标是 ~ 键。

Tim 向 Bob 发送了一条消息,内容是 “Hey”。现在假设 Bob 在向 Tim 键入消息时收到此消息。 Bob 想发送 "Hello" 给 Tim,但他还没有写完(所以到目前为止他只写了 "Hel")。

我希望我的应用程序能够在终端底部保留 Bob 的提示和他的输入,并在提示上方显示 Tim 的消息。 Bob 应该仍然能够完成他给 Tim 的消息,并且能够看到 Tim 的消息。下面是我的意思的图表,从 Bob 的客户的角度来看。有什么方法可以使用 C 来完成这样的事情吗?

........................之前................................ ..................................................... ....................后............................. ..

...............................                 .................................
............................... <Tim> Hey
Enter Message> Hel~ Enter Message> Hel~

最佳答案

如果您知道您正在使用一个 ANSI 兼容的终端并且知道您的提示长度和光标位置(假设您允许编辑输入以使光标可能不在当前输入的末尾)并且不允许不止一行输入[那里有很多假设]那么你似乎可以输出一个或多个“光标向上”序列,然后是一个回车符,你来自 Tim 的消息,一个回车符,一个换行符,然后是很多“光标” right' 序列将光标放回原来的位置。

但基本上,如果您想处理这种复杂情况,那么您将前往 curses/ncurses/terminfo 类库。

关于c - 在提示上方打印聊天消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21197826/

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