【问题标题】:Basic terminal output using C++ - Questions使用 C++ 的基本终端输出 - 问题
【发布时间】:2013-01-10 04:46:03
【问题描述】:

嗯,这个问题可能听起来有点含糊,但我需要做两件事,我肯定需要一些意见:

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

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

    李>

那么……有什么想法吗?

【问题讨论】:

标签: c++ macos gcc terminal clang


【解决方案1】:

您可能想使用ncurses 库。并且ANSI escape codes也可以用于着色。

【讨论】:

  • 谢谢;我会调查一下。 :-)
  • curses 可能是任何新应用程序的错误选择。不过,ANSI escape codes 是一个很好的资源。
【解决方案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 ;

你也可以看看 How do I output coloured text to a Linux terminal?

2)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2016-01-09
    • 2011-11-20
    • 1970-01-01
    • 2013-06-06
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多