0

好吧,这个问题听起来可能有点含糊,但这里有两件事我需要做,我肯定需要一些输入:

  • cout输出带有颜色的东西(例如使用) (注意:我的TERM环境变量设置为xterm-color如果这有什么不同;另外,是否有任何统一的方式来输出与纯 mac 和 *nix 终端兼容的彩色文本,以便代码是可移植的)

  • 在终端屏幕上的相同位置输出一些东西。好的,这听起来也令人困惑。让我们以一个简单地输出进度百分比的终端应用程序为例。它通常不会为此开始新的一行。新值显示在同一位置。这怎么可能?(作为一个曾经是 DOS 时代的 Borland Pascal 人,我唯一能想到的就是直接访问视频内存……或者不是?)

所以......有什么想法吗?

4

2 回答 2

4

您可能想使用ncurses库。ANSI 转义码也可用于着色。

于 2013-01-26T08:08:41.117 回答
2

1)

您可以尝试 Color cout ,但这不是可移植的。我试过(ANSI转义码)类似

cout << "\033[1;31mbold red text\033[0m\n";

cout << "\33[0;31m" << "Enter Your String here" << "\33[0m" << std::endl ;

您还可以查看 如何将彩色文本输出到 Linux 终端?

2)

您是否正在寻找类似手表或顶级应用程序的东西,它们在同一位置显示输出。

于 2013-01-26T08:29:58.467 回答