gpt4 book ai didi

c++ - C++ 中的 ASCII 用户界面 w/Unix PuTTY 终端使用转义序列

转载 作者:太空狗 更新时间:2023-10-29 23:19:57 26 4
gpt4 key购买 nike

我正在尝试为一个简单的 Internet 聊天程序制作一个简单的 ASCII 用户界面。我计划它看起来像这样:

(名字):消息
(名称):消息
--------------------------------------------
(你):消息|(光标)

我打算使用 ASCII(ANSI?)控制字符来完成此任务。

每当聊天客户端从服务器接收到一条消息时,它应该更新,以便该消息显示为虚线上方的第一条消息,然后将光标返回到其先前的位置,以便用户可以从他们停止的地方继续输入.

我最初的计划是:
1. 保存当前光标位置(\e7)
2. 将光标向上移动 1 行(到虚线)并移动到该行的开头 (\e[1F])
3. 向下移动虚线(\n)
4. 再次将光标向上移动一行(到现在的空行)(\e[1A)
5. 打印服务器消息
6.恢复上一个光标位置(\e8)

一起:“\e7\e[1F\n\e[1A”<<消息<<“\e8”;

我遇到问题的地方是换行符似乎只是将光标移动到下一行,而不是实际插入一个空行。我怎样才能完成这种行为?

这是一项家庭作业,但这只是我想为自己增加的一点天赋。 实际任务已经完成。

注意:处理用户在自己屏幕上的输入的算法已经得到正确处理。

最佳答案

查看类似 pdcurses 的内容.它是跨平台的。这将使所有这些操作变得容易得多。如果您不介意您的代码不可移植,您还可以查看 *nix 上的 curses 和 Windows 上古老的 conio 库。

关于c++ - C++ 中的 ASCII 用户界面 w/Unix PuTTY 终端使用转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784321/

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