printf字體

 

#define DP1(format, arg...) printf("\x1b[0;31m"format"\x1b[0m", ##arg)css

#define DP(format, arg...) \
        do { \
                char debuf[2 * 1024]; \
                snprintf(debuf, 2 * 1024, \
                                   "\x1b[0;31m"format"\x1b[0m", \
                                   ##arg); \
                printf("%s", debuf); \
        } while (0);
字體

 

#與##spa

一個#表示字符串化;兩個#表明concatenate orm

 

 
 
Linux下printf輸出顏色
 
printf("\033[字背景顏色;字體顏色m字符串 \033[0m");
 
 
參考:
printf(" \033[41;32m字體背景是紅色,字是綠色\033[0m\n");
41是字背景顏色, 32是字體的顏色, 字體背景是紅色,字是綠色是字符串. 後面的\033[0m是控制碼.

顏色代碼:
QUOTE:
字背景顏色範圍: 40--49 字顏色: 30--39字符串

40: 黑 30: 黑
41: 紅 31: 紅
42: 綠 32: 綠
43: 黃 33: 黃
44: 藍 34: 藍
45: 紫 35: 紫
46: 深綠 36: 深綠
47: 白色 37: 白色form

ANSI控制碼:
QUOTE:
\033[0m 關閉全部屬性
\033[1m 設置高亮度
\03[4m 下劃線
\033[5m 閃爍
\033[7m 反顯
\033[8m 消隱
\033[30m -- \033[37m 設置前景色
\033[40m -- \033[47m 設置背景色

\033[nA 光標上移n行
\03[nB 光標下移n行
\033[nC 光標右移n行
\033[nD 光標左移n行
\033[y;xH設置光標位置
\033[2J 清屏
\033[K 清除從光標到行尾的內容
\033[s 保存光標位置
\033[u 恢復光標位置
\033[?25l 隱藏光標
\33[?25h 顯示光標class

這樣, 在某些時候就能夠實現動態的輸出error

 

 

    1. #ifdef DEBUG
    2. #define F_OUT printf("%s:", __FUNCTION__);fflush(stdout);
    3. #define L_OUT printf("%s:%d:", __FILE__, __LINE__);fflush(stdout);
    4. #define A_OUT printf("%s:%d:%s:", __FILE__, __LINE__, __FUNCTION__);fflush(stdout);
    5. #define D_OUT printf("DEBUG:");fflush(stdout);
    6. #define F_PRINTF(fmt, arg...) F_OUT printf(fmt, ##arg)
    7. #define L_PRINTF(fmt, arg...) L_OUT printf(fmt, ##arg)
    8. #define A_PRINTF(fmt, arg...) A_OUT printf(fmt, ##arg)
    9. #define PRINTF(fmt, arg...) D_OUT printf(fmt, ##arg)
    10. #define DBUG(a) {a;}
    11. #else
    12. #define F_OUT
    13. #define L_OUT
    14. #define A_OUT
    15. #define D_OUT
    16. #define F_PRINTF(fmt, arg...)
    17. #define L_PRINTF(fmt, arg...)
    18. #define A_PRINTF(fmt, arg...)
    19. #define PRINTF(fmt, arg...)
    20. #define DBUG(a)
    21. #endif
    22. #define F_PERROR(fmt) F_OUT perror(fmt)
    23. #define L_PERROR(fmt) L_OUT perror(fmt)
    24. #define A_PERROR(fmt) A_OUT perror(fmt)
    25. #define PERROR(fmt) D_OUT perror(fmt)
相關文章
相關標籤/搜索