prueba esto
     
Código C++:
Ver original- #include <iostream> 
- //Text colors 
- #define tblack "\E[30m" // Texto color negro 
- #define tred "\E[31m" // Texto color rojo 
- #define tgreen "\E[32m" // Texto color verde 
- #define tyellow "\E[33m" // Texto color amarillo 
- #define tblue "\E[34m" // Texto color azul 
- #define tpurple "\E[35m" // Texto color morado 
- #define tcyan "\E[36m" // Texto color cyan 
- #define twhite "\E[37m" // Texto color blanco 
-   
- //Back colors 
- #define fblack "\E[40m" // Fondo color negro 
- #define fred "\E[41m" // Fondo color rojo 
- #define fgreen "\E[42m" // Fondo color verde 
- #define fbrown "\E[43m" // Fondo color cafe 
- #define fblue "\E[44m" // Fondo color azul 
- #define fpurple "\E[45m" // Fondo color morado 
- #define fcyan "\E[46m" // Fondo color cyan 
- #define fgray "\E[47m" // Fondo color gris 
-   
- //text attributes 
- #define reset "\E[m" // Resetiar todo 
- #define bold "\E[1m" // negrita 
- #define nbold "\E[22m" // no negrita 
- #define italic "\E[3m" // cursiva 
- #define nitalic "\E[23m" // no cursiva 
- #define underline "\E[4m" // subrayado 
- #define nunderline "\E[24m" // no subrayado 
- #define flashing "\E[5m" // parpadeante 
- #define nflasing "\E[25m" // no parpadeante 
- #define reverse "\E[7m" // inverso 
- #define nreverse "E[27m" // no inverso 
-   
- //screen 
- #define clearscr "\E[2J" // borrar pantalla 
- #define fille "\E#8" // llenar pantalla con e 
- #define dendofline "\E[K" // borrar hasta fin de linea 
- #define cols80 "\E[?3h" // modo 80 columnas 
- #define cols132 "\E[?3l" // modo 132 columnas 
- #define reverseon "\E[?5h" // inverso encendido 
- #define reverseoff "\E[?5l" // inverso apagado 
- #define autowrapon "\E[?7h" // autowrap prendido 
- #define autowrapof "E[?7l" // autowrap apagado 
- #define towardgraphic "\E(0" // hacia modo grafico 
- #define fromgraphic "\E(B" // desde modo grafico 
-   
- //cursor 
- #define upperleftcorner "\E[H" // Cursor en la esquina superior isquiera 
- #define saveAtributes "\E8" // Guarda los atrivutos 
- #define restaureAtrivutes "\E[u" // Restaura los atrivutos 
- #define pause "\E[s" // Pequeña pausa 
-   
- inline void up(int x){std::cout << "\E[" << x << "A";} 
- inline void down(int x){std::cout << "\E[" << x << "B";} 
- inline void rigth(int y){std::cout << "\E[" << y << "C";} 
- inline void left(int y){std::cout << "\E[" << y << "D";} 
- inline void cursorpos(int x, int y){std::cout << "\E[" << y << ";" << x << "H";} 
solo son secuencias de escape para la consola