2009-12-25 13 views
21

linux gcc görünür 4.4.1yeşil ve kırmızı

Aşağıdaki fprintf açıklama yapacağım ve yeşil ve kırmızı olarak BAŞARıSıZ Tamam istiyorum. Mümkün mü? Muhtemelen bu tür terminali işlemek için ncurses'a gibi bazı kütüphane kullanmalıdır

cevap

24

tüm öneriler için

if(devh == -1) 
{ 
    fprintf(stderr, "Device [ FAILED ]\n"); 
} 
else 
{ 
    fprintf(stderr, "Device [ OK ]\n"); 
} 

çok teşekkürler.

printf ("\033[32;1m OK \033[0m\n"); 

(bu durumda yeşil için 32 standları olarak), ancak taşınabilir ne de zarif ne olduğunu:

Alternatif olarak, Linux altında gibi bazı konsol çıkış sıralarını kullanabilirsiniz.

+0

iyiye kullanmak - doğrudan bağlantısını terminali çıkış sıralarını edilir Kötü ve onunla ilgili problemler küfür kütüphanesinin icat edilmesinin nedenleridir (veya Nedeni büyük bir kısmıdır). –

63

Terminal çıkışına renk eklemek için aşağıdaki makroları kullanıyorum.

#define RESET "\033[0m" 
#define BLACK "\033[30m"  /* Black */ 
#define RED  "\033[31m"  /* Red */ 
#define GREEN "\033[32m"  /* Green */ 
#define YELLOW "\033[33m"  /* Yellow */ 
#define BLUE "\033[34m"  /* Blue */ 
#define MAGENTA "\033[35m"  /* Magenta */ 
#define CYAN "\033[36m"  /* Cyan */ 
#define WHITE "\033[37m"  /* White */ 
#define BOLDBLACK "\033[1m\033[30m"  /* Bold Black */ 
#define BOLDRED  "\033[1m\033[31m"  /* Bold Red */ 
#define BOLDGREEN "\033[1m\033[32m"  /* Bold Green */ 
#define BOLDYELLOW "\033[1m\033[33m"  /* Bold Yellow */ 
#define BOLDBLUE "\033[1m\033[34m"  /* Bold Blue */ 
#define BOLDMAGENTA "\033[1m\033[35m"  /* Bold Magenta */ 
#define BOLDCYAN "\033[1m\033[36m"  /* Bold Cyan */ 
#define BOLDWHITE "\033[1m\033[37m"  /* Bold White */ 

... ve kütüphane kullanma kullanım Colored grep?

ait

printf(GREEN "Here is some text\n" RESET); 

Örnek gibi Ve örnek

if(devh == -1) 
{ 
    fprintf(stderr, "Device [ " RED "FAILED" RESET " ]\n"); 
} 
else 
{ 
    fprintf(stderr, "Device [ " GREEN "OK" RESET " ]\n"); 
} 
Kesinlikle
+2

Brillant cevabı için teşekkürler – kapil

İlgili konular