InicioLinuxColores En C++ Sin conio.h y Con ncurses -Programador Novato
-Programador Novato-

Bueno, mis post siempre suelen ayudar, para hacer las cosas mas fáciles, y, por experiencia propia se que muchas personas que han intentado programar en Linux se han encontrado con el inconveniente de no poder usar colores sin conio o cnurses librerías difíciles de agregar (en mi experiencia, que quede claro) así que he realizado este código, que es mas bien una tabla de colores en c++ solo con escapes ANSI así que lo único que necesitaran sera una librería ES Entrada y salida de datos, como iostream.h o stdio.h con sus "cout" y "print", Así que hay les va:

dijo:

#include<iostream.h>
#include<stdio.h>//si lo quieren hacer con "print"//


main ()


{

cout << "x1b[90mNEGROx1b[mn";
cout << "x1b[91mROJOx1b[mn";
cout << "x1b[92mVERDEx1b[mn";
cout << "x1b[93mAMARILLOx1b[mn";
cout << "x1b[94mAZULx1b[mn";
cout << "x1b[95mVIOLETAx1b[mn";
cout << "x1b[96mAZUL CLAROx1b[mn";
cout << "x1b[97mBLANCOx1b[mn";
cout << "x1b[101m[SUB]ROJOx1b[mn";
cout << "x1b[102m[SUB]VERDEx1b[mn";
cout << "x1b[103m[SUB]AMARILLOx1b[mn";
cout << "x1b[104m[SUB]AZULx1b[mn";
cout << "x1b[105m[SUB]VIOLETAx1b[mn";
cout << "x1b[106m[SUB]AZUL CLAROx1b[mn";
cout << "x1b[107m[SUB]BLANCOx1b[mn";

}



DESCARGA EL EJECUTABLE



Y ya sabes para poderlo ver, abres un terminal y pones Ubicación de descarga y luego:

dijo:

./co



Y Pues obviamente pueden cambiar el texto del color por otro, digamos

dijo:

cout << "x1b[91mROJOx1b[mn";



por



dijo:

cout << "x1b[91mHOLA COMO ESTANx1b[mn";



Y el texto "HOLA COMO ESTAN" aparecerá en color rojo.....


PD:[SUB] Significa subrayado en ese color

PD2: Sirve en windows pero solo activando el ansi.sys en el config del DOS

Espero les ayude a hacer de la programación mas fácil, y así no se partan la cabeza buscando por soluciones extrañas y que muchas veces no sirven...


He decidido Editar el Post para mostrarles una salida tipo ncurses de un mensage "Bienvenidos" En ASCII Hecho por mí

PD.PS: PARA ESTE EJEMPLO SE DEBE USAR LA LIBRERIA NCURSES

dijo:


#include<ncurses.h>


int main()
{
initscr();
if (has_colors())
{
start_color();
init_pair(1,COLOR_RED,COLOR_BLACK);
init_pair(2,COLOR_BLUE,COLOR_BLACK);
attron(COLOR_PAIR(1));
printw("B"; attron(COLOR_PAIR(2)); printw("ienvenid"; attron(COLOR_PAIR(1)); printw("onn";
attron(COLOR_PAIR(1));
printw("|\ | |XXXX |\ | | / |XXXX |\ | | |\ /\ / n";
printw("|/ | | | \ | | / | | \ | | | \ / \ / n";
printw("|\ | |XX | \ | | / |XX | \ | | | / \ / \ n";
printw("|/ | |XXXX | \| |/ |XXXX | \| | |/ \/ / n";
attroff(COLOR_PAIR(1)); attroff(COLOR_PAIR(2));

}
refresh();
getch();
endwin();
return 0;
}

[ADVERTENCIA]

[EDIT] ESTA CITA (LA DE ABAJO) NO MUESTRA EL RESULTADO REAL, YA QUE POR CUESTIONES DE FORMATOS DE TEXTOS DE TARINGA LO MODIFICA UN POCO EN LOS ESPACIOS, EL CODIGO DEBERIA FUNCIONAR BIEN, Y MAS QUE TODO PERFECTO DESPUÉS DE COMPILADO.

CUALQUIER INCONVENIENTE EN LOS COMENTARIOS ESTARÍA BIEN....

SI PUEDEN MEJORAR EL CODIGO HAGANLO Y POR FAVOR HAGANMELO SABER A MI TAMBIÉN[EDIT]

SI LO QUIEREN MEJOR EN TEXTO PLANO HAGANMELO SABER......

[ADVERTENCIA]




La salida de este texto seria algo así:
dijo:



| | |XXXX | | | / |XXXX | | | | / /
|/ | | | | | / | | | | | / /
| | |XX | | | / |XX | | | | / /
|/ | |XXXX | | |/ |XXXX | | | |/ / /




En color rojo, si quieren cambiar el color deben modificar los pairs y los contenidos del attron....

Espero les guste....

Todo fue hecho por mi, como no soy experto en ASCII me costo un poco crear el mensajito.....

Uds tal vez lo vean diferente y corrido en el código, pero en la consola se ve perfecto, la causa de esto es que cada vez que se quiere usar el carácter "" sin que el compilador lo tome como un escape ASCII como por ejemplo "n" (que es salto de linea) entonces se deben poner dos por ejemplo si quieren que en vez de escape por pantalla aparezca el carácter " entonces ponen"\" Y así saldrá solo uno......

Que Opinas??
Datos archivados del Taringa! original
0puntos
8,653visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
10visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

a
andresd13🇦🇷
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.