Colorear texto en la consola de Linux

Dudas sobre los distintos compiladores C/C++ en Linux
Cerrado

Fué de utilidad?

7
100%
No
0
No hay votos
 
Votos totales: 7

Mensaje
Autor
arthas
Mensajes: 143
Registrado: 20/09/2004 11:00 pm
Contactar:

Colorear texto en la consola de Linux

#1 Mensaje por arthas » 12/04/2007 7:54 pm

Colorear texto en la consola de Linux

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):

Código: Seleccionar todo

\E[XXm
Para "abrir" el color (desde donde empieza a colorear)

Y esta otra para "cerrar" (delimitar hasta dónde colorea)

Código: Seleccionar todo

\E[00m
(si el \E no funciona (cosa que es imposible ya que es ANSI-C), se puede usar \x1B)

Las combinaciones son las siguientes:

Código: Seleccionar todo

Colores de letra (foreground)
------------------------------

Combinación	Color
========================
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)
------------------------------

Combinación	Color
========================
40			   Negro
41			   Rojo
42			   Verde
43			   Marrón
44			   Azul
45			   Púrpura
46			   Turquesa
47			   Gris

Efectos de carácter
-------------------------------

Combinación	Estilo
========================
0;4			  Subrayado
0;5			  Titilante (blink)(puede que no funcione)
0;1			  Negrita
0;8			  Transparente (?)
(si algún mod puede hacer este post sticky, mejor)

Avatar de Usuario
Killrazor
Mensajes: 1284
Registrado: 24/01/2006 12:00 am
Ubicación: Barcelona

#2 Mensaje por Killrazor » 13/04/2007 12:17 am

Esta genial!!!! Me ha gustado!!!
I wanna heal i wanna feel like I'm close to something real.
I wanna find something I've wanted all along
somewhere i belong

arthas
Mensajes: 143
Registrado: 20/09/2004 11:00 pm
Contactar:

#3 Mensaje por arthas » 13/04/2007 4:29 pm

Gracias :)

Avatar de Usuario
nicolas_cof
Mensajes: 113
Registrado: 21/10/2006 11:00 pm
Ubicación: Argentina
Contactar:

#4 Mensaje por nicolas_cof » 09/06/2009 8:47 pm

Excelente tuto..

Me ha servido de mucho... Gracias!
.:Sólo el conocimiento nos hace libres:.
Imagen

Avatar de Usuario
cheroky
Mensajes: 2571
Registrado: 22/09/2005 11:00 pm
Ubicación: Valladolid (España)

#5 Mensaje por cheroky » 10/06/2009 5:52 am

(si el \E no funciona (cosa que es imposible ya que es ANSI-C), se puede usar \x1B)
Ya que se ha resucitado el tema... que las secuencias de escape usen una nomenclatura ANSI esto no tiene que ver con el estandar del lenguaje C que por razones históricas llamamos coloquialmente ANSI-C en lugar de ISO/IEC 9899:1990 o simplemente y abreviado C90.
Por otra parte que dichas secuencias funcionen y de como lo hagan dependerá exclusivamente del driver de consola, aunque en linux teóricamente es una solución valida.

*EOF*
Imagen

Cerrado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados