리눅스 GCC에 표시 4.4.1녹색과 빨간색
나는 다음과 fprintf와 문이 나는 녹색과 빨간색으로 실패로 확인을하고 싶습니다. 이것이 가능한가? 당신은 아마 같은 터미널을 처리 할 수있는 ncurses의 일부 라이브러리를 사용한다
리눅스 GCC에 표시 4.4.1녹색과 빨간색
나는 다음과 fprintf와 문이 나는 녹색과 빨간색으로 실패로 확인을하고 싶습니다. 이것이 가능한가? 당신은 아마 같은 터미널을 처리 할 수있는 ncurses의 일부 라이브러리를 사용한다
제안에 대한
if(devh == -1)
{
fprintf(stderr, "Device [ FAILED ]\n");
}
else
{
fprintf(stderr, "Device [ OK ]\n");
}
많은 감사합니다.
printf ("\033[32;1m OK \033[0m\n");
(이 경우 녹색 32 개 스탠드에)하지만 휴대용도 우아하지도 :
또는 리눅스에서 당신은 같은 일부 콘솔 이스케이프 시퀀스를 사용할 수 있습니다.
터미널 출력에 색상을 추가하는 데 다음 매크로를 사용합니다.
#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 */
... 라이브러리 사용하는 사용
Colored grep?
의
printf(GREEN "Here is some text\n" RESET);
예처럼 그리고 당신의 예를
if(devh == -1)
{
fprintf(stderr, "Device [ " RED "FAILED" RESET " ]\n");
}
else
{
fprintf(stderr, "Device [ " GREEN "OK" RESET " ]\n");
}
확실히
찬란한 답변 주셔서 감사합니다. – kapil
더 나은 사용 - 하드와 이어링 터미널 이스케이프 시퀀스입니다 나쁘다. 그리고 그와 관련된 문제는 curses 라이브러리가 발명 된 이유이다. (또는 이유의 큰 부분입니다). –