如何创建彩色文本?

Arl*_*len 5 linux d

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

cout << "\e[32;40mGreenForegroundAndBlackBackgroundText" << endl;
Run Code Online (Sandbox Code Playgroud)

在DI中出错:

string s = "\e[32;40mGreenForegroundAndBlackBackgroundText";  // undefined escape sequence \e
Run Code Online (Sandbox Code Playgroud)

有没有办法让这个在D工作?

Bas*_*tch 8

\e转义字符的C++常量字符串转义是字符转义的C的非标准GCC扩展(也可能由Clang采用).

你只需要将它的八进制编码也可以作为\033\x1b

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