paulo1205
(usa Ubuntu)
Enviado em 18/10/2017 - 19:19h
weth767 escreveu:
#ifndef CORES_H
#define CORES_H
#define preto(texto) printf("\33[0;30m %s \33[0m",texto)
#define vermelho(texto) printf("\33[0;31m %s \33[0m",texto)
#define verde(texto) printf("\33[0;32m %s \33[0m",texto)
#define marrom(texto) printf("\33[0;33m %s \33[0m",texto)
#define azul(texto) printf("\33[0;34m %s \33[0m",texto)
#define roxo(texto) printf("\33[0;35m %s \33[0m",texto)
#define ciano(texto) printf("\33[0;36m %s \33[0m",texto)
#define cinzaclaro(texto) printf("\33[0;37m %s \33[0m",texto)
#define pretoacinzentado(texto) printf("\33[1;30m %s \33[0m",texto)
#define vermelhoclaro(texto) printf("\33[1;31m %s \33[0m",texto)
#define verdeclaro(texto) printf("\33[1;32m %s \33[0m",texto)
#define amarelo(texto) printf("\33[1;33m %s \33[0m",texto)
#define azulclaro(texto) printf("\33[1;34m %s \33[0m",texto)
#define roxoclaro(texto) printf("\33[1;35m %s \33[0m",texto)
#define cianoclaro(texto) printf("\33[1;36m %s \33[0m",texto)
#define branco(texto) printf("\33[1;37m %s \33[0m",texto)
#endif
Basta chamar a biblioteca e usar os nomes da cores, lembrando que funciona sobre para texto, caso queira para outro tipo de dado precisa alterar o tipo de dado do printf de %s para ou outro
Sim, e de brinde sua string será cercada com um espaço de cada lado. Se você quiser imprimir “
BRASIL” alternando as cores verde e amerelo a cada letra, vai ficar com “
B R A S I L ”.
Além disso, essa sugestão cria a dependência de que o terminal seja compatível com uma extensão do padrão ANSI X3.64 (que assume que o atributo
bold pode ser interpretado como tornando a cor mais brilhante). Se o terminal não atender essa dependência, é imprevisível o que pode aparecer na tela.