#include #include //回顯型別typedef enum
echo_type_e;
//回顯授權控制
typedef enum
enableecho_e;
typedef struct
mystruct_t;
//回顯列印函式
void echoctrl(enableecho_e mytype, enableecho_e type, const char* file, const int line, const char *msg, ...)
break;
case warning_echo:
if (warning_echo & mytype)
break;
case debugging_echo:
if (debugging_echo & mytype)
break;
default:
break; }}
//可變引數函式的兩個巨集定義寫法
#define output_error(type, msg, ...) echoctrl(type, error_echo, __file__, __line__, msg, __va_args__) //第一種
#define output_warnning(type, msg...) echoctrl(type, warning_echo, __file__, __line__, ##msg) //第二種
#define output_debug(type, msg, ...) echoctrl(type, debugging_echo, __file__, __line__, msg, __va_args__)
int main()
; output_error(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_warnning(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_debug(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
//開啟錯誤和除錯回顯,關閉警告回顯
my_obj.debug &= disable_warning;
my_obj.debug |= enable_debugging;
printf("------------------------------------\n");
output_error(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_warnning(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_debug(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
//關閉所有回顯
my_obj.debug &= disable_all;
printf("------------------------------------\n");
output_error(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_warnning(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
output_debug(my_obj.debug, "my_id:%d, my_name:%s", my_obj.id, my_obj.name);
return 0;
}
xxe 回顯與無回顯
學習於紅日安全 一 有回顯 1 直接將外部實體引用的uri設定為敏感目錄 xxe 2 將外部實體引用的 url 設定到本地伺服器,本地構建惡意 dtd 檔案,遠端注入 xxe evil 外部 evil.dtd 中的內容 二 無回顯可以使用外帶資料通道提取資料,先使用 filter 獲取目標檔案的內容...
批處理echo 和 回顯控制命令
echo 和 回顯控制命令 關閉單行回顯 echo off 從下一行開始關閉回顯 echo off 從本行開始關閉回顯。一般批處理第一行都是這個 echo on 從下一行開始開啟回顯echo 顯示當前是 echo off 狀態還是 echo on 狀態 echo.輸出乙個 回車換行 一般就是指空白行...
ftl回顯問題
參考 當修改某一條列表中顯示的記錄時,要求在原來的文字框 單選框 下拉列表等先顯示出要修改記錄的資訊,然後再對其重新填寫資訊修改。下拉列表 selected selected a selected selected b selected selected c selected selected d ...