ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VT터미널에서 컬러 사용하기
    프로그래밍/기타 2021. 3. 28. 10:30
    728x90

    디버깅 메시지를 보다보면 텍스트가 너무 많아서 원하는 메시지를 찾아 헤매는 경우가 많은데요. 정말 중요한 메시지에 색을 입히면 조금은 찾기 수월해집니다. VT100 이상 호환되는 터미널은 글씨와 배경에 색을 입힐 수 있습니다.

     

    위의 프로그램의 소스 코드입니다.

    #include <stdio.h>
    
    #define COLOR_END	"\x1b[0m"
    #define COLOR_BOLD	"\x1b[01m"
    #define COLOR_BLINK	"\x1b[05m"
    #define COLOR_REVERSE	"\x1b[07m"
    #define FG_BLACK	"\x1b[30m"
    #define FG_RED		"\x1b[31m"
    #define FG_GREEN	"\x1b[32m"
    #define FG_YELLOW	"\x1b[33m"
    #define FG_BLUE		"\x1b[34m"
    #define FG_PINK		"\x1b[35m"
    #define FG_SKY		"\x1b[36m"
    #define FG_WHITE	"\x1b[37m"
    #define BG_BLACK	"\x1b[40m"
    #define BG_RED		"\x1b[41m"
    #define BG_GREEN	"\x1b[42m"
    #define BG_YELLOW	"\x1b[43m"
    #define BG_BLUE		"\x1b[44m"
    #define BG_PINK		"\x1b[45m"
    #define BG_SKY		"\x1b[46m"
    #define BG_WHITE	"\x1b[47m"
    #define COLOR_L_RED	"\x1b[47;31m"
    #define COLOR_L_GREEN	"\x1b[47;32m"
    #define COLOR_L_YELLOW	"\x1b[47;33m"
    #define COLOR_L_BLUE	"\x1b[47;34m"
    #define COLOR_L_MAGENTA	"\x1b[47;35m"
    #define COLOR_L_CYAN	"\x1b[47;36m"
    #define COLOR_L_WHITE	"\x1b[47;37m"
    
    int main()
    {
    	printf(FG_RED "FG" COLOR_END " END\r\n");		// 1
    	printf(BG_RED "BG" COLOR_END " END\r\n");		// 2
    	printf(FG_RED BG_WHITE "FG&BG 1" COLOR_END " END\r\n");	// 3
    	printf(COLOR_L_RED "FG&BG 2" COLOR_END " END\r\n");	// 4
    	printf(COLOR_BOLD "BOLD" COLOR_END " END\r\n");		// 5
    	printf(COLOR_BLINK "BLINK" COLOR_END " END\r\n");	// 6
    	printf(COLOR_REVERSE "REVERSE" COLOR_END " END\r\n");	// 7
    
    	return 0;
    }

     

    코드 설명

    1. FG라는 텍스트 전에 글씨 색을 정의해주고, 텍스트가 끝나는 부분에서 색을 원래대로 돌려줍니다.
    2. BG라는 텍스트 전에 배경 색을 정의해주고 1과 마찬가지로 색을 원래대로 돌려줍니다.
    3. 이번에는 글씨 색과 배경 색을 함께 정의해주었습니다.
    4. 3과 같은 효과이지만 색을 정의해주는 정보의 양을 줄였습니다. 네트워크 통신에서는 비용을 조금이나마 절감할 수 있겠지요.
    5. 글씨 색 뿐 아니라 BOLD 효과도 줄 수 있습니다. 3의 방법과 마찬가지로 색과 함께 사용할 수도 있습니다.
    6. BLINK 효과인데 제 터미널에서는 지원을 하지 않아 사진에서는 보이지 않습니다.
    7. 색 반전도 사용할 수 있습니다.

     

    참고 사이트

    728x90

    '프로그래밍 > 기타' 카테고리의 다른 글

    SDL2_ttf 사용하기  (0) 2021.03.29

    댓글

Designed by Tistory.