Como puedo cambiar la letra de color en c, he intentado con muchos codigos que he encontrado online pero ninguno funciona.
En msdos tienes el comando color:
c:\color 05
Y para usar en el lenguaje C los comandos del sistema tenemos la funcion system():
#include <stdlib.h>
system("color 05");
Si quiero cambiar el color solo a la letra de una parte del codigo es decir solo a un printf.
Especifica sistema operativo, no es algo estandar.
Creo que ya entiendo, no conozco ninguna funcion de la libreria estandar que haga eso, puede que haya alguna libreria por ahi que tenga una funcion asi pero no lo se.
Una solucion un poco cutre podria ser cambiar el color al color que tu quieras, lanzas el printf(), haces un pause por ejemplo, limpias la pantalla y reestableces el color. Bajo msdos seria:
#include <stdlib.h>
system("color 04"); /*ponemos las letras en rojo*/
printf("lo que sea");
system("pause");
system("cls");
system("color 07"); /*reestablemos al color prdeterminado, fondo negro y letras blancas*/
Cita de: pacoperico en 18 Marzo 2013, 16:57 PM
#include <stdlib.h>
system("color 04"); /*ponemos las letras en rojo*/
printf("lo que sea");
system("pause");
system("cls");
system("color 07"); /*reestablemos al color prdeterminado, fondo negro y letras blancas*/
Esta forma me parece la menos agraciada si estamos trabajando en C++, ya que estamos, usemos lo que nuestras librerías nos permiten de forma potente... Indica por favor sistema operativo y así te decimos con exactitud ;)
Uso windows 7 ;D
Me funciona lo que me puso puntoinfinito pero como dicen no es la mejor forma de hacerlo o al menos eso considero.
HWND CurrentWin;
CurrentWin = GetForegroundWindow();
HANDLE consol;
consol = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consol,FOREGROUND_BLUE);
tambien podrias emplearlo ya que asi te evitas tener que llamar a otro proceso dentro del tuyo en este caso el comando "color"