在C ++中,以下代码在控制台中运行时将以彩色打印文本:
cout << "\e[32;40mGreenForegroundAndBlackBackgroundText" << endl;
在D中我收到错误:
string s = "\e[32;40mGreenForegroundAndBlackBackgroundText"; // undefined escape sequence \e
有没有办法在D中使用它?
答案 0 :(得分:8)
转义字符的C ++常量字符串转义\e
是character escapes的C的非标准GCC扩展(可能也被Clang采用)。
您只需要将其八进制编码设为\033
或\x1b
但请注意\e[32;40m
不是标准C或C ++,它是与tty - s相关的ANSI终端转义序列。