• Domingo 17 de Noviembre de 2024, 16:29

Autor Tema:  Texto En Colores Por Terminal En C  (Leído 2108 veces)

karmakoma

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Texto En Colores Por Terminal En C
« en: Martes 30 de Diciembre de 2003, 15:53 »
0
¿Como puedo mostrar texto en colores por una terminal UNIX con un programa C?

Gracias por adelantado y un saludo! :)

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Texto En Colores Por Terminal En C
« Respuesta #1 en: Miércoles 31 de Diciembre de 2003, 20:16 »
0
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 puedes encontrar un manual sencillo sobre el uso de la librería.

Un saludo.

FEckEZ

  • Miembro activo
  • **
  • Mensajes: 46
    • Ver Perfil
Re: Texto En Colores Por Terminal En C
« Respuesta #2 en: Martes 6 de Enero de 2004, 18:23 »
0
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

karmakoma

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Texto En Colores Por Terminal En C
« Respuesta #3 en: Miércoles 14 de Enero de 2004, 10:14 »
0
Muchas gracias a los dos por la ayuda, ya lo he solucionado.  :D