行业知识
每日学习总结20240306
2026-11-08 12:36:52
来源:互联网转载
每日总结
20240306
1. 断言测试判断
#include #include #include #include #define STR_OK "[\x1b[1;32m OK \x1b[0m]"#define STR_FAIL "[\x1b[1;31mFAIL\x1b[0m]"#define passert(c) \ do { \ int r = (c); \ if (r) \ printf(" " STR_OK " %s %s():%d %s\n", __FILE__, __func__, __LINE__, #c); \ else \ printf(" " STR_FAIL " %s %s():%d %s\n", __FILE__, __func__, __LINE__, #c); \ } while(0)#define ptest() \ printf("\nStarting test %s():%d\n", __func__, __LINE__) int main(int argc, char const *argv[]){ for (size_t i = 0; i [\x1b[1;32m OK \x1b[0m] 这个字符串包含了 ANSI 转义序列,用于在终端中设置文本的样式和颜色。让我们逐个解释每个参数的含义:
-
[\x1b[1;32m:这部分是设置文本样式和颜色的起始序列。它由以下几个部分组成:
- [\x1b:\x1b 是 ASCII Escape 字符,表示转义序列的开始。
- [1;32m:[1;32m 是 ANSI 转义序列中设置文本样式和颜色的部分。具体含义如下:
- [1:表示设置高亮(或加粗)文本的样式。
- ;:分隔符,用于分隔不同的设置。
- 32:表示设置文本颜色为绿色。32 是绿色的 ANSI 色号。
-
OK:这部分是表示测试通过的文本。
-
\x1b[0m]:这部分是恢复文本样式的序列。它由以下几个部分组成:
- \x1b:ASCII Escape 字符,表示转义序列的开始。
- [0m:[0m 是 ANSI 转义序列中恢复默认文本样式的部分。具体含义如下:
- 0:表示恢复默认文本样式。
- m:结束 ANSI 转义序列的标志。
使用这个字符串可以在终端中将 “OK” 文本输出为绿色并加粗,以便更直观地显示测试通过的信息。
2. 颜色打印输出
#include // 定义颜色枚举类型enum Color { COLOR_RESET = 0, // 重置 COLOR_RED = 31, // 红色 COLOR_GREEN = 32, // 绿色 COLOR_YELLOW = 33, // 黄色 // 可以添加更多的颜色};// 定义宏,接受三个参数:是否打印、颜色、格式化字符串及其参数#define printfcolor(print, color, ...) \ do { \ if (print) { \ printf("\x1b[%dm", color); \ printf(__VA_ARGS__); \ printf("\x1b[0m"); \ } \ } while(0)int main(int argc, char const *argv[]){ for (size_t i = 0; i
上一篇:幻塔私人服务器怎么进?
下一篇:怎么选服务器或空间?