zoukankan      html  css  js  c++  java
  • print to console or file

    /*----------------------------------------------------------------------*/
    /*              Debug for embeded board, 2008-2-26, Rain.               */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        FILE *fp1 = fopen("/dev/tty", "a");
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

    /*----------------------------------------------------------------------*/
    /*              Debug for SSH terminal, 2008-2-26, Rain.                */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        char *dev = getenv("SSH_TTY");         
        FILE *fp1 = fopen(dev, "a");           
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7352525.html
Copyright © 2011-2022 走看看