Aqui vai uma biblioteca para colocar cor no terminal do c++:
// color.hpp
// author: Tiago Cavalcante Trindade
// version: 1.0.3
// email:
// access: https://www.clubedohardware.com.br/forums/topic/1396899-tutorial-como-colocar-cor-no-c/
#pragma once
#include <iostream>
using namespace std;
namespace style {
enum FOREGROUND {
fBLACK = 30, /* letra preta */
fRED, /* letra vermelha */
fGREEN, /* letra verde */
fYELLOW, /* letra amarela */
fBLUE, /* letra azul */
fMAGENTA, /* letra magenta */
fCYAN, /* letra ciano */
fWHITE, /* letra branca */
fBLACKs = 90, /* letra preta estrondosa */
fREDs, /* letra vermelha estrondosa */
fGREENs, /* letra verde estrondosa */
fYELLOWs, /* letra amarela estrondosa */
fBLUEs, /* letra azul estrondosa */
fMAGENTAs, /* letra magenta estrondosa */
fCYANs, /* letra ciana estrondosa */
fWHITEs, /* letra branca estrondosa */
};
enum BACKGROUND {
bBLACK = 40, /* fundo preto */
bRED, /* fundo vermelho */
bGREEN, /* fundo verde */
bYELLOW, /* fundo amarelo */
bBLUE, /* fundo azul */
bMAGENTA, /* fundo magenta */
bCYAN, /* fundo ciano */
bWHITE, /* fundo branco */
bBLACKs = 100, /* fundo preto estrondoso */
bREDs, /* fundo vermelho estrondoso */
bGREENs, /* fundo verde estrondoso */
bYELLOWs, /* fundo amarelo estrondoso */
bBLUEs, /* fundo azul estrondoso */
bMAGENTAs, /* fundo magenta estrondoso */
bCYANs, /* fundo ciano estrondoso */
bWHITEs /* fundo branco estrondoso */
};
enum STYLE {
sRESET = 0, /* estilo de letra padrão */
sBOLD, /* cor da letra fica mais forte */
sUNDERLINE = 4, /* sublinhado */
sINVERSE = 7, /* inverte a cor do fundo com a cor da letra */
};
}
namespace color {
/*escreve um texto em determinada cor*/
void coutc(const char* text, style::FOREGROUND foreground) {
cout << "[" << foreground << "m" << text << "[0m";
}
/*escreve um texto com determinada cor de fundo*/
void coutc(const char* text, style::BACKGROUND foreground) {
cout << "[" << foreground << "m" << text << "[0m";
}
/*escreve um texto com determinada estilo*/
void coutc(const char* text, style::STYLE style) {
cout << "[" << style << "m" << text << "[0m";
}
/*escreve um texto em determinada cor e com determinada cor de fundo*/
void coutc(const char* text, style::FOREGROUND foreground, style::BACKGROUND background) {
cout << "[" << foreground << "m[" << background << "m" << text << "[0m";
}
/*escreve um texto em determinada cor e com determinado estilo*/
void coutc(const char* text, style::FOREGROUND foreground, style::STYLE style) {
cout << "[" << foreground << "m[" << style << "m" << text << "[0m";
}
/*escreve um texto com determinada cor de fundo e com determinado estilo*/
void coutc(const char* text, style::BACKGROUND background, style::STYLE style) {
cout << "[" << background << "m[" << style << "m" << text << "[0m";
}
/*escreve um texto em determinada cor e com determinada cor de fundo e em determinado estilo*/
void coutc(const char* text, style::FOREGROUND foreground, style::BACKGROUND background, style::STYLE style) {
cout << "[" << foreground << "m[" << background << "m[" << style << "m" << text << "[0m";
}
}
Aqui está um exemplo de como usar:
// exemplo.cpp
#include "color.hpp"
int main() {
color::coutc("Teste", style::fRED);
color::coutc("Teste", style::fGREENs, style::bWHITE);
color::coutc("Teste", style::fBLUE, style::bBLACK, style::sUNDERLINE);
return 0;
}
Aqui estão as cores da letra:
fBLACK = letra preta
fRED = letra vermelha
fGREEN = letra verde
fYELLOW = letra amarela
fBLUE = letra azul
fMAGENTA = letra magenta
fCYAN = letra ciano
fWHITE = letra branca
fBLACKs = letra preta estrondosa
fREDs = letra vermelha estrondosa
fGREENs = letra verde estrondosa
fYELLOWs = letra amarela estrondosa
fBLUEs = letra azul estrondosa
fMAGENTAs = letra magenta estrondosa
fCYANs = letra ciana estrondosa
fWHITEs = letra branca estrondosa
Aqui estão as cores para o fundo:
bBLACK = fundo preto
bRED = fundo vermelho
bGREEN = fundo verde
bYELLOW = fundo amarelo
bBLUE = fundo azul
bMAGENTA = fundo magenta
bCYAN = fundo ciano
bWHITE = fundo branco
bBLACKs = fundo preto estrondoso
bREDs = fundo vermelho estrondoso
bGREENs = fundo verde estrondoso
bYELLOWs = fundo amarelo estrondoso
bBLUEs = fundo azul estrondoso
bMAGENTAs = fundo magenta estrondoso
bCYANs = fundo ciano estrondoso
bWHITEs = fundo branco estrondoso
Aqui estão os estilos para letra:
sRESET = estilo de letra padrão
sBOLD = cor da letra fica mais forte
sUNDERLINE = sublinhado
sINVERSE = inverte a cor do fundo com a cor da letra
Aqui vai um programa para ver cada cor e estilo:
// como-são-todas-as-cores.cpp
#include "color.hpp"
using namespace color;
using namespace style;
int main() {
cout << "fBLACK: ";
coutc("text", fBLACK);
cout << "\nfRED: ";
coutc("text", fRED);
cout << "\nfGREEN: ";
coutc("text", fGREEN);
cout << "\nfYELLOW: ";
coutc("text", fYELLOW);
cout << "\nfBLUE: ";
coutc("text", fBLUE);
cout << "\nfMAGENTA: ";
coutc("text", fMAGENTA);
cout << "\nfCYAN: ";
coutc("text", fCYAN);
cout << "\nfWHITE: ";
coutc("text", fWHITE);
cout << "\nfBLACKs: ";
coutc("text", fBLACKs);
cout << "\nfREDs: ";
coutc("text", fREDs);
cout << "\nfGREENs: ";
coutc("text", fGREENs);
cout << "\nfYELLOWs: ";
coutc("text", fYELLOWs);
cout << "\nfBLUEs: ";
coutc("text", fBLUEs);
cout << "\nfMAGENTAs: ";
coutc("text", fMAGENTAs);
cout << "\nfCYANs: ";
coutc("text", fCYANs);
cout << "\nfWHITEs: ";
coutc("text", fWHITEs);
cout << "\nbBLACK: ";
coutc("text", bBLACK);
cout << "\nbRED: ";
coutc("text", bRED);
cout << "\nbGREEN: ";
coutc("text", bGREEN);
cout << "\nbYELLOW: ";
coutc("text", bYELLOW);
cout << "\nbBLUE: ";
coutc("text", bBLUE);
cout << "\nbMAGENTA: ";
coutc("text", bMAGENTA);
cout << "\nbCYAN: ";
coutc("text", bCYAN);
cout << "\nbWHITE: ";
coutc("text", bWHITE);
cout << "\nbBLACKs: ";
coutc("text", bBLACKs);
cout << "\nbREDs: ";
coutc("text", bREDs);
cout << "\nbGREENs: ";
coutc("text", bGREENs);
cout << "\nbYELLOWs: ";
coutc("text", bYELLOWs);
cout << "\nbBLUEs: ";
coutc("text", bBLUEs);
cout << "\nbMAGENTAs: ";
coutc("text", bMAGENTAs);
cout << "\nbCYANs: ";
coutc("text", bCYANs);
cout << "\nbWHITEs: ";
coutc("text", bWHITEs);
cout << "\nsReset: ";
coutc("text", sRESET);
cout << "\nsBOLD: ";
coutc("text", sBOLD);
cout << "\nsUNDERLINE: ";
coutc("text", sUNDERLINE);
cout << "\nsINVERSE: ";
coutc("text", sINVERSE);
return 0;
}
Por favor, se encontrarem um erro ou acharem que dá para melhorar algo avisem.
Atenção: caso você copie e cole o color.h o caractere contido em char.txt deve ser adicionado antes de todos os "["
Segue anexos os arquivos char.txt e color.zip.
color.zip é um arquivo com a biblioteca color.h, um programa de exemplo e outro que mostra como são todas as cores.
char.txt
color 1.0.3.zip