20/1/09

Colorear texto al hacer printf o cout

Para aquellos que quieran colorear el texto de sus programas de consola en linux, pueden usar códigos de control ASCII.
Para colorear, sólo hay que poner printf (o cout) con la siguiente cadena (reemplazando XX por una de las combinaciones de las tablas de abajo):

Para “abrir” el color (desde donde empieza a colorear)
\E[XXm
Para “cerrar” (delimitar hasta dónde colorea)
\E[00m
En caso de que \E no funciona (cosa que es imposible ya que es ANSI-C), se puede usar \x1B)

Las combinaciones son las siguientes:
Colores de letra (foreground)
0;30 Negro
0;31 Rojo
0;32 Verde
0;33 Marrón
0;34 Azul
0;35 Púrpura
0;36 Cian
0;37 Gris claro
1;30 Gris oscuro
1;31 Rojo claro
1;32 Verde claro
1;33 Amarillo
1;34 Azul claro
1;35 Púrpura claro
1;36 Cian claro
1;37 Blanco

Colores de fondo (background)
40 Negro
41 Rojo
42 Verde
43 Marrón
44 Azul
45 Púrpura
46 Turquesa
47 Gris

Efectos de carácter
0;4 Subrayado
0;5 Titilante (blink)(puede que no funcione)
0;1 Negrita
0;8 Transparente (?)

:wq!

No hay comentarios.: