2012-02-05 8 views
5

En C++ el siguiente código cuando se ejecuta en la consola va a imprimir el texto en color:¿Cómo creo un texto coloreado?

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

En D Me aparece un error:

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

¿Hay alguna manera de conseguir este trabajo en D?

+0

Tenga en cuenta que las secuencias de escape anteriores no funcionarán en ningún otro terminal que no sea ANSI. – DejanLekic

+0

He estado trabajando en [una biblioteca para esto] (http://code.google.com/p/decora)! (No puedo creer lo afortunado que es esto) – Maxpm

Respuesta

8

El escape de cadena constante de C++ \e para el carácter de escape es una extensión GCC no estándar de C para character escapes (también adoptada por Clang, probablemente).

sólo tiene que poner la codificación octal de que tal vez como \033 o \x1b

Tenga cuidado sin embargo, que no es \e[32;40m estándar de C o C++, es la secuencia de escape ANSI Terminal relacionada con tty -s.

Cuestiones relacionadas