Programación General => C/C++ => Mensaje iniciado por: karmakoma en Martes 30 de Diciembre de 2003, 15:53
Título: Texto En Colores Por Terminal En C
Publicado por: karmakoma en Martes 30 de Diciembre de 2003, 15:53
¿Como puedo mostrar texto en colores por una terminal UNIX con un programa C?
Gracias por adelantado y un saludo! :)
Título: Re: Texto En Colores Por Terminal En C
Publicado por: Ruben3d en Miércoles 31 de Diciembre de 2003, 20:16
Hola.
Para poder imprimir texto en colores en una terminal has de usar las funciones de la librería ncurses, declaradas en el fichero ncurses.h. En NCURSES Programming HOWTO (http://en.tldp.org/HOWTO/NCURSES-Programming-HOWTO/) puedes encontrar un manual sencillo sobre el uso de la librería.
Un saludo.
Título: Re: Texto En Colores Por Terminal En C
Publicado por: FEckEZ en Martes 6 de Enero de 2004, 18:23
tambien podrias mandar un caracter de escape (033) directo a la shell, con esto podrias cambiar el color del texto y el fondo con el que aparece en pantalla:
para hacerlo puedes utilizar algo como: \033[color1;color2m Mensaje a imprimir
claro esto no funcionara en todas las shells disponibles, pero en bash si que funciona. un ejemplo:
esto imprimira el mensaje "Linux Rulezzz" en pantalla con un color amarillo (1;33m corresponde a este color)... la secuencia de escape al final ( \033[0m ) es para devolver la shell a su estado original, evitando que todos los mensajes siguientes dejen de salir con el mismo color.
una pequeña lista de colores:
Código: Text
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown 0;33 Yellow 1;33
Light Gray 0;37 White 1;37
espero te sirva. bye
Título: Re: Texto En Colores Por Terminal En C
Publicado por: karmakoma en Miércoles 14 de Enero de 2004, 10:14
Muchas gracias a los dos por la ayuda, ya lo he solucionado. :D