输出数据类型
- 符号描述
符号 | 作用 |
---|---|
%d | 十进制有符号整数 |
%u | 十进制无符号整数 |
%f | 浮点数 |
%s | 字符串 |
%c | 单个字符 |
%p | 指针的值 |
%e/E | 指数形式的浮点数 |
%x/X | 无符号以十六进制表示的整数 |
%o | 无符号以八进制表示的整数 |
%g | 自动选择合适的表示法 |
- 字宽设置
扩展字符 | 字宽位数 |
---|---|
b | 8位 |
h | 16位 |
l | 32位 |
输出字体颜色
- 设定printf输出字体颜色:
终端字符的颜色是用转义序列进行控制,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
-
格式: \033[显示方式;前景色;背景色m
- 显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
- 前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
- 背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)
-
例程:
1)默认颜色:\033[0m
2)绿色:\033[1;32;40m
3)红色:\033[1;31;40m
4)printf( “\033[1;31;40m 输出红色字符 \033[0m” )
宏定义方式
#include "stdio.h"
// printf 颜色定义
/***************************************************************
字背景颜色范围: 40--49 字颜色: 30--39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
****************************************************************/
#define PTCOLOR_NONE "\033[m"
#define PTCOLOR_RED "\033[0;32;31m"
#define PTCOLOR_LIGHT_RED "\033[1;31m"
#define PTCOLOR_GREEN "\033[0;32;32m"
#define PTCOLOR_LIGHT_GREEN "\033[1;32m"
#define PTCOLOR_BLUE "\033[0;32;34m"
#define PTCOLOR_LIGHT_BLUE "\033[1;34m"
#define PTCOLOR_DARY_GRAY "\033[1;30m"
#define PTCOLOR_CYAN "\033[0;36m"
#define PTCOLOR_LIGHT_CYAN "\033[1;36m"
#define PTCOLOR_PURPLE "\033[0;35m"
#define PTCOLOR_LIGHT_PURPLE "\033[1;35m"
#define PTCOLOR_BROWN "\033[0;33m"
#define PTCOLOR_YELLOW "\033[1;33m"
#define PTCOLOR_LIGHT_GRAY "\033[0;37m"
#define PTCOLOR_WHITE "\033[1;37m"
#define ERROR (1)
#if (ERROR)
#define xerror(fmt, args...) printf( RED "ERROR <%s : %d> => " fmt " " NONE, __FUNCTION__, __LINE__, ##args)
#else
#define xerror(fmt, args...)
#endif
int main(void)
{
xerror("error!\n");
}