Как мне создать цветной текст? - PullRequest
5 голосов
/ 05 февраля 2012

В C ++ следующий код при запуске в консоли будет печатать текст в цвете:

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

В D я получаю ошибку:

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

Есть ли способ заставить это работать в D?

1 Ответ

8 голосов
/ 05 февраля 2012

Экранирующая строка C ++ escape \e для escape-символа является нестандартным расширением GCC для C для escape-символов (также принятым Clang, вероятно).

Вам просто нужно указать восьмеричное кодирование, например, \033 или \x1b

Однако следует помнить, что \e[32;40m не является стандартным C или C ++, это escape-последовательность терминала ANSI, связанная с tty -s.

...