Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nadales56 en 15 Marzo 2019, 10:54 am



Título: Cambiar colores en la terminal
Publicado por: nadales56 en 15 Marzo 2019, 10:54 am
Buenos días a todos!

Mi pregunta es si alguien sabe cómo cambiar los colores en la terminal.
Lo que quiero hacer es lo siguiente:
Imaginemos que tengo un parámetro X y éste debe de estar en un intervalo [20,25], por ejemplo. La idea es, que si no está en ese intervalo, me muestre por pantalla el valor del parámetro X, pero en color rojo por ejemplo o incluso poner la letra en negrita.
Necesitaría una librería específica para ello?


Eso sería posible en C++?

Muchas gracias! Que pasen un buen Viernes!


Título: Re: Cambiar colores en la terminal
Publicado por: K-YreX en 15 Marzo 2019, 21:12 pm
Usando el comando <system("color XX")> puedes cambiar el color de la letra y el de fondo.
Me parece que no tiene la opción de cambiar la letra a negrita, pero igual existe alguna librería externa más completa para trabajar con colores. Suerte :-X


Título: Re: Cambiar colores en la terminal
Publicado por: MAFUS en 17 Marzo 2019, 11:18 am
El cambiar cosas de la terminal es dependiente del sistema operativo. Con Windows se hace con llamadas a la API, con Linux debes usar códigos de escape ANSI.
Eso para que no tengas que liarte con librerías multiplataforma.


Título: Re: Cambiar colores en la terminal
Publicado por: lfgmespino en 18 Marzo 2019, 23:58 pm
Puedes usar secuencias de escape ANSI. Te pongo un ejemplo. Sdos


Código
  1. #include
  2.  
  3. int main(void)
  4. {
  5.        const char *const verde = "\033[0;40;32m";
  6.        const char *const subrayado_fazul_verde = "\033[4;44;32m";
  7.        const char *const normal = "\033[0m";
  8.  
  9.        printf("Mostrando %scolores%s !!!\n", verde, normal);
  10.        printf("Mostrando %scolores%s !!!\n", subrayado_fazul_verde, normal);
  11.  
  12.        return 0;
  13. }
  14.