Ho provato a utilizzare system("color 24");
ma questo non ha cambiato il colore nel prompt. Quindi dopo un po 'su Google ho visto SetConsoleTextAttribute
e ho scritto il codice seguente.Impostazione del colore del testo stdout/stderr in Windows
Questo risultati sia stdout
e stderr
sia sempre di colore rosso, invece di stdout
essere verde e stderr
essere rosso.
Come posso risolvere questo? Il mio prompt è ora rosso ma non mi interessa perché so come risolverlo.
Dovrebbe funzionare in Windows 7. Al momento sto costruendo questo dal prompt (utilizzando VS 2010 cl) ed eseguirlo in un normale cmd
pronta
#include <windows.h>
#include <stdio.h>
int main(int argc, char **argv)
{
int i;
unsigned long totalTime=0;
HANDLE hConsoleOut; //handle to the console
hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsoleOut, FOREGROUND_GREEN);
HANDLE hConsoleErr;
hConsoleErr = GetStdHandle(STD_ERROR_HANDLE);
SetConsoleTextAttribute(hConsoleErr, FOREGROUND_RED);
fprintf(stdout, "%s\n", "out");
fprintf(stderr, "%s\n", "err");
return 0;
}
Avrei potuto giurare di averlo provato. accettato –