找回密码
 立即注册
首页 业界区 安全 解码C语言控制台颜色输出

解码C语言控制台颜色输出

周冰心 2025-9-20 15:00:15
1. 基本原理

控制台颜色输出使用ANSI转义序列,格式为:\033[属性代码m
2. 常用颜色代码

字体颜色
  1. #define RED "\033[31m"// 红色
  2. #define GREEN "\033[32m"// 绿色
  3. #define YELLOW "\033[33m"// 黄色
  4. #define BLUE "\033[34m"// 蓝色#define MAGENTA "\033[35m"// 洋红色
  5. #define CYAN "\033[36m"// 青色#define WHITE "\033[37m"// 白色
复制代码
背景颜色
  1. #define BG_RED "\033[41m"// 红色背景
  2. #define BG_GREEN "\033[42m"// 绿色背景
  3. #define BG_YELLOW "\033[43m"// 黄色背景
  4. #define BG_BLUE "\033[44m"// 蓝色背景
  5. #define BG_MAGENTA "\033[45m"// 洋红色背景
  6. #define BG_CYAN "\033[46m"// 青色背景
  7. #define BG_WHITE "\033[47m"// 白色背景
复制代码
重置颜色
  1. #define RESET "\033[0m"// 重置所有属性
复制代码
3. 使用注意事项


  • 必须重置颜色:设置颜色后,必须使用RESET恢复默认设置,否则后续输出都会保持该颜色
  • 组合使用:可以同时设置字体颜色和背景颜色
    1. printf(RED BG_WHITE "红字白底" RESET "\n");
    复制代码
  • 兼容性:ANSI转义序列在大多数Unix/Linux终端和Windows 10+的终端中支持,但旧版Windows cmd可能不支持
  • 格式顺序:多个属性可以组合使用
    1. //用分号分隔
    2. printf("\033[31;47m红字白底\033[0m\n");// 31:红色, 47:白色背景
    3. //用空格分隔
    4. printf(BLUE BG_YELLOW"蓝色黄底"RESET"\n");
    复制代码
4. 其他常用属性代码
  1. #define BOLD "\033[1m"// 粗体
  2. #define UNDERLINE "\033[4m"// 下划线
  3. #define BLINK "\033[5m"// 闪烁
  4. #define REVERSE "\033[7m"// 反显(前景背景互换)
复制代码
5. 示例代码结构
  1. #include <stdio.h>// 定义颜色代码
  2. #define RESET "\033[0m"// 字体颜色定义...// 背景颜色定义...
  3. int main() {
  4. // 使用颜色输出
  5.                 printf(颜色代码 "文本内容" RESET);
  6.     return 0;
  7. }
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册