[ Foro de C++ ]

Colores en consola de modo estandar ??

06-Dec-2007 12:29
Sol enbum
3 Respuestas

No quiero cosas no estandar o externas o que dependan de terceros.

Simplemente busco comandos o utiles para cambiar partes de fondo o letras en programas de consola creados con gcc/g++ en linux.

De momento encontré esto, que me funciono si añadir nada, solo en g++/gcc con la libreria iostream tipica:

cout << " \033[44;2mTextoAqui\033";
Donde el 44 se va cambiando por 43,45.. e ir probando colores.

Simplemente cambia el fondo de Textaqui (que no su letra, creo que pasa a blanca)
.
Hay algunos utiles mas?


07-Dec-2007 02:48
Nacho Cabanes (+30)

Cuidado, lo que estás usando son "secuencias de escape", que pueden no funcionar en otra versión de Linux que tenga por defecto una emulación de terminal distinta (existen muchas, por ejemplo: VT100, VT102, VT220, ANSI, SCO ANSI, Wyse 50/60, Xterm...)

La forma más portable (hay versiones incluso para Windows), más versátil (es relativamente fácil usar muchas combinaciones de colores distintos), más legible (es fácil saber de qué colores estás hablando sólo con ver el fuente) y que menos problemas te dará es usar la librería "curses".

Mira el apartado 10.4 del curso de C:

http://www.aprendeaprogramar.com/mod/resource/view.php?id=326


09-Dec-2007 10:50
Sol enbum

Gracias por la aclaración. (se nota que no me he leido el curso de c a full jejej)

Aunque no precisamente es tan facil como otros.


10-Dec-2007 01:37
Nacho Cabanes (+30)

¿Es que alguien te dijo que C es fácil?

Se puede decir que es potente (se puede hacer casi de todo), que es portable (existe casi para cualquier sistema), que es útil (los conocimientos los puedes aplicar a C++, Java, Php, Perl, C# y otros muchos)...

Pero de fácil... poco: hay que pensar de una forma un poco rebuscada, hay cosas que son muy trabajosas, es fácil cometer errores... no es un lenguaje para principiantes... ;-)







(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)