C语言输出的字体和背景颜色你会设置吗!
2023-06-13 09:12:00 时间
大家好,又见面了,我是你们的朋友全栈君。
文章目录
学了那么久C语言,难免会对自己所写的程序输出字体颜色感到单调,总想着怎么整点花里胡哨的程序……
今天它来了,废话不多说,今天就交让我们一起学习如何改变显示框的大小、字体(前景色)颜色和背景颜色。通过学习我们可以写一些有趣的C语言程序: C语言趣程序:【简单计时器】【死循环之0和1】
一、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()
{
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"); //直接使用颜色函数
}
如果你想要更加深入的改变前景色和背景色可以看下面这篇文章: 隐者_ C语言教你怎么改变字体颜色
实例:死循环之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++;
}
return 0;
}
运行结果:…………………………………………
通过上面介绍的功能我们就可以写一些有趣的代码:
相 见 就 是 【 猿 分 】 希望上面的内容对你有帮助,如果上面的内容有错误,请指点,如果你有更加有趣的C程序,请在评论区分享,大家一块学习,共同进步。 如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 谢谢!!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151602.html原文链接:https://javaforall.cn
相关文章
- 树莓派小车C语言循迹,自动循迹小车_单片机/STM32/树莓派/Arduino/开发板创意项目-聚丰项目-电子发烧友网…[通俗易懂]
- C语言中void具体有什么作用
- C语言中的选择排序
- C语言字符串输入及输出的几种方式
- c语言输出整型量格式符,C语言输出格式(详细)
- C语言数组例题:输出杨辉三角形
- C语言例题:给一个3*3的整型矩阵,将这个矩阵转置后输出。
- C语言中实现输出所有水仙花数字
- C语言实现输出用户输入的字符串中最长的单词
- C语言结构类型的定义
- C语言脚本指引Linux开发实践(c语言脚本linux)
- 实现Oracle远程连接:C语言方案(c远程连接oracle)
- 学习Linux C语言编程,迈向新知识革命(linuxc语言编程)
- MySQL实战C语言编程技巧(c mysql实战)
- MySQL中使用C语言取得查询结果(c mysql取查询结果)
- Oracle数据库应用C语言调用Oracle包(c 调用oracle的包)
- 数据库C语言实现从Oracle数据库导出功能(c语言导出oracle)
- C语言与Oracle结合实现批量处理效率提升(c oracle 批量)
- C语言中的内存泄露怎样避免与检测
- 怎么通过C语言自动生成MAC地址
- 纯C语言:递归组合数源码分享
- C语言实现单链表逆序与逆序输出实例
- C语言实现输出链表中倒数第k个节点
- C语言实现在数组A上有序合并数组B的方法