C语⾔输出的字体和背景颜⾊你会设置吗!
⽂章⽬录
学了那么久C语⾔,难免会对⾃⼰所写的程序输出字体颜⾊感到单调,总想着怎么整点花⾥胡哨的程序……
今天它来了,废话不多说,今天就交让我们⼀起学习如何改变显⽰框的⼤⼩、字体(前景⾊)颜⾊和背景颜⾊。通过学习我们可以写⼀些有趣的C语⾔程序:
⼀、window.h头⽂件
头⽂件windows.h:包含 system 函数
#include<Windows.h>//包含 system 函数
system("mode con cols=66 lines=20");
system("color 0A");
⼆、设置显⽰框的⼤⼩和颜⾊
system("mode con cols=66 lines=22");
//显⽰框⼤⼩控制函数
//cols:长 lines:宽
注意:当cols=lines=20时,显⽰框的长和宽并不相等,就是说输出的显⽰框形状并不是正⽅形,⽽是⼀个长⽅形。
代码实例:
#include<stdio.h>
#include<Windows.h>
int main()
c语言和c++区别{
system("mode con cols=66 lines=20");
printf("Dream it possible!\n");
}
运⾏结果:
三、设置控制台的字体颜⾊和背景⾊
system("color 0A");
//显⽰颜⾊控制函数,设置字体(前景⾊)和背景颜⾊
//0:背景⾊⿊⾊
//A:字体颜⾊绿⾊
颜⾊属性由两个⼗六进制数字指定(颜⾊常量)
第⼀个对应于背景⾊,第⼆个对应于前景⾊。
每个数字可以为以下任何值:
0=⿊⾊8=灰⾊
1=蓝⾊9=淡蓝⾊
2=绿⾊ A =淡绿⾊
3=浅绿⾊ B =淡浅绿⾊
4=红⾊ C =淡红⾊
5=紫⾊ D =淡紫⾊
6=黄⾊ E =淡黄⾊
7=⽩⾊ F =亮⽩⾊
#include<stdio.h>
#include<Windows.h>
int main()
{
system("color 04");//⿊⾊背景、红⾊字体
printf("we are all the same!\n");
system("color 02");//⿊⾊背景、绿⾊字体
printf("we are all the same!\n");
}
我们可以发现,只有第2个system("color 02");起作⽤,⽽且运⾏结束后⾯的字体也变成了绿⾊。
知道了原理后,为了使运⾏中的字体在⼀个程序中显⽰不同的颜⾊,那么可以将这个系统函数封装⼀下,下⾯是对字体(前景⾊)颜⾊进⾏调⽤的函数。
void color(const unsigned short textColor)//⾃定义函根据参数改变颜⾊
{
if(textColor>=0&& textColor<=15)//参数在0-15的范围颜⾊
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), textColor);//⽤⼀个参数,改变字体颜⾊
else//默认的字体颜⾊是⽩⾊
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);
}
输出16种字体颜⾊
#include<stdio.h>
#include<windows.h>
void color(const unsigned short textColor)
{
if(textColor>=0&& textColor<=15)
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), textColor);
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);
}
int main()
{
color(0);printf("⿊⾊\n");
color(1);printf("蓝⾊\n");
color(2);printf("绿⾊\n");
color(3);printf("湖蓝⾊\n");
color(4);printf("红⾊\n");
color(5);printf("紫⾊\n");
color(6);printf("黄⾊\n");
color(7);printf("⽩⾊\n");
color(8);printf("灰⾊\n");
color(9);printf("淡蓝⾊\n");
color(10);printf("淡绿⾊\n");
color(11);printf("淡浅绿⾊\n");
color(12);printf("淡红⾊\n");
color(13);printf("淡紫⾊\n");
color(14);printf("淡黄⾊\n");
color(15);printf("亮⽩⾊\n");
color(16);//因为这⾥⼤于15,恢复默认的颜⾊
printf("回到原来颜⾊\n");//直接使⽤颜⾊函数
}
如果你想要更加深⼊的改变前景⾊和背景⾊可以看下⾯这篇⽂章:
实例:死循环之0和1
#include<stdio.h>
#include<windows.h>
void color(const unsigned short textColor)
{
if(textColor>=0&& textColor<=15)
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), textColor);
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);
}
int main()
{
int i;
while(1)
{
color(1);printf(" 0\t\t ");
color(2);printf(" 0\t0 ");
color(3);printf(" 11\t\t\t\t\t\t\t\t\t\t ");
color(4);printf(" 00\t\t ");
color(5);printf(" 1\t\t\t\t\t\t\t ");
color(6);printf(" 00 ");
color(7);printf(" 11 \t\t");
color(8);printf(" 010 ");
i++;
}
return0;
}
运⾏结果:…………………………………………
通过上⾯介绍的功能我们就可以写⼀些有趣的代码:
相 见 就 是 【 猿 分 】
希望上⾯的内容对你有帮助,如果上⾯的内容有错误,请指点,如果你有更加有趣的C程序,请在评论区分享,⼤家⼀块学习,共同进步。
如果你感觉我写的内容对你有⼀定的帮助,请给我点⼀个 【赞】作为您对我的⿎励, 谢谢!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论