Como Cambiar el Color del Texto a las Apps de Consola o Terminal con C++

Conocimiento es poder!

Como Cambiar el Color del Texto a las Apps de Consola o Terminal con C++

Red, Yellow, and Green Parrot

Hola, saludos, hoy quiero compartir una librería que encontré de C++ para cambiar el color al texto a las aplicaciones de consola o de terminal.

Según el autor, la librería utiliza el formato de colores de ANSI. Eso quiere decir que puede ser usado en cualquier sistema UNIX como Linux y Mac OS.

Para Windows, utiliza WinAPI con algunas limitaciones. Pero no te preocupes, el mismo codigo y las misma libreria se utiliza para Windows y Linux. La diferencia es, por ejemplo, en Linux puedes crear texto subrayado y en Windows no.

Al menos en Windows se puede cambiar el color del texto y cambiar el color del background. El siguiente ejemplo es en Windows.

La libreria fue creada por el Ucraniano Ihor Kalnytskyi puedes encontrar mas informacion sobre el en Github.

Como Usarlo

Es bien facil de usar, este post supone que ya tienes tu maquina lista para desarrollar en C++.

  1. Abre VS Code o tu IDE favorito.
  2. Crea una carpeta o proyecto con el nombre que desees.
  3. Ahora crea un archivo con el nombre colors.cpp y ponlo dentro de la carpeta.
  4. Copia y Pega el siguiente código en el archivo colors.cpp
  5. Crea un archivo con el nombre termcolor.hpp y ponlo dentro de la carpeta.
  6. Abre el header file en Github y copia y pega el código del archivo termcolor.hpp en tu archivo termcolor.hpp

Archivo: colors.cpp

#include <iostream>

#include "termcolor.hpp"

int main(int /*argc*/, char** /*argv*/)
{
    std::cout << "\nColores para Foreground:\n" << std::endl;
    std::cout << termcolor::red << "Texto Rojo" << std::endl;    
    std::cout << termcolor::blue << "Texto Azul" << std::endl;    
    std::cout << termcolor::yellow << "Texto Amarillo" << std::endl;
    std::cout << termcolor::cyan << "Texto Cyan" << std::endl;
    std::cout << termcolor::magenta << "Texto Magenta" << std::endl;
    std::cout << termcolor::green << "Texto Verde" << std::endl;
    std::cout << termcolor::white << "Texto Blanco" << std::endl;
    std::cout << termcolor::grey << "Texto Gris Obscuro" << std::endl;
    
    std::cout << termcolor::reset;

    std::cout << "\nColores para background:\n" << std::endl;
    std::cout << termcolor::on_red << "Background Rojo" << std::endl;
    std::cout << termcolor::on_blue << "Background Azul" << std::endl;
    std::cout << termcolor::on_yellow << "Background Amarillo" << std::endl;
    std::cout << termcolor::on_cyan << "Background Cyan" << std::endl;
    std::cout << termcolor::on_magenta << "Background Magenta" << std::endl;
    std::cout << termcolor::on_green << "Background Verde" << std::endl;
    std::cout << termcolor::on_white << "Background Blanco" << std::endl;
    std::cout << termcolor::on_grey << "Background Gris Obscuro" << std::endl;    
    
    std::cout << termcolor::reset;
    return 0;
}

Ahora ejecuta el siguiente comando para compilar el programa y crear el archivo ejecutable (.exe):

g++ colors.cpp -o colors.exe

luego, si todo está bien, ejecuta el programa: colors.exe

Salida del programa en el terminal integrado de VS Code.
Salida del programa en el terminal integrado de VS Code.

Hay que tener en cuenta en que terminal se va a mostrar o ejecutar la App. Ya que el terminal integrado que trae VS Code el background es gris oscuro, el terminal regular o el Command Prompt es negro y MS Powershell es azul oscuro.

Como podrás ver en la imagen anterior y en las siguientes imágenes, en los tres terminales los tonos de los colores se ven diferentes.

Salida del programa en Command Prompt.
Salida del programa en Command Prompt.
Salida del programa en MS Powershell.
Salida del programa en MS Powershell.

Espero les sea util, no olviden compartir y si conoces de una libreria util de C++ no olvides dejarla en los comentarios. Gracias!

Deja tus comentarios o preguntas!

This site uses Akismet to reduce spam. Learn how your comment data is processed.