使用C ++的基本终端输出 - 问题

时间:2013-01-26 07:59:40

标签: c++ macos gcc terminal clang

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

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

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

所以...任何想法?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分: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)

您是否正在寻找像手表这样的应用程序,它们会在同一位置显示输出。