SoloCodigo

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:

Código: Text
  1.  
  2. #include "stdio.h"
  3. main(){
  4.    printf("\033[1;33Linux Rulezzz\033[0m \n");
  5.    return 0;
  6. }
  7.  
  8.  

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
  1.  
  2. Black       0;30      Dark Gray     1;30
  3. Blue        0;34     Light Blue    1;34
  4. Green      0;32     Light Green   1;32
  5. Cyan        0;36     Light Cyan    1;36
  6. Red          0;31     Light Red     1;31
  7. Purple       0;35     Light Purple  1;35
  8. Brown       0;33     Yellow        1;33
  9. Light Gray  0;37     White         1;37
  10.  
  11.  

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