#define NONE "\033[m"
#define RED "\033[0;32;31m"
#define LIGHT_RED "\033[1;31m"
#define GREEN "\033[0;32;32m"
#define LIGHT_GREEN "\033[1;32m"
#define BLUE "\033[0;32;34m"
#define LIGHT_BLUE "\033[1;34m"
#define DARY_GRAY "\033[1;30m"
#define CYAN "\033[0;36m"
#define LIGHT_CYAN "\033[1;36m"
#define PURPLE "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN "\033[0;33m"
#define YELLOW "\033[1;33m"
#define LIGHT_GRAY "\033[0;37m"
#define WHITE "\033[1;37m"
以上代码定义了printf打印颜色的宏
如果你需要打印带有颜色的文字那么只需要:
printf(RED"i am red\n");就可以输出红色的字体。
#include <stdio.h>
#define RED "\033[0;32;31m"
#define NONE "\033[m"
#define YELLOW "\033[1;33m"
int main()
{
printf(RED"i am red!\n"NONE);
printf(YELLOW"i am yello!\n"NONE);
system("pause");
return 0;
}
但是结果出乎意料:
但是我们修改一下代码就可以使用上面方法。(在主函数前面加一个system("cls");由于它是清屏函数,在主函数开头加这个函数,对后续的打印无伤大雅,但是我们却可以使用这种办法打印颜色了。)(具体的原因还有待研究,但是问题解决了。)
#include <stdio.h>
#define RED "\033[0;32;31m"
#define NONE "\033[m"
#define YELLOW "\033[1;33m"
int main()
{
system("cls");
printf(RED"i am red!\n"NONE);
printf(YELLOW"i am yello!\n"NONE);
system("pause");
return 0;
}
结果:
PS:另外这个方法在linux底下是没有啥问题的。
结果: