如何创建彩色文本?

时间:2012-02-05 10:48:40

标签: linux d

在C ++中,以下代码在控制台中运行时将以彩色打印文本:

cout << "\e[32;40mGreenForegroundAndBlackBackgroundText" << endl;

在D中我收到错误:

string s = "\e[32;40mGreenForegroundAndBlackBackgroundText";  // undefined escape sequence \e

有没有办法在D中使用它?

1 个答案:

答案 0 :(得分:8)

转义字符的C ++常量字符串转义\echaracter escapes的C的非标准GCC扩展(可能也被Clang采用)。

您只需要将其八进制编码设为\033\x1b

但请注意\e[32;40m不是标准C或C ++,它是与tty - s相关的ANSI终端转义序列。