彩色版的C语言,让文字更漂亮
对于初学者来说,本节涉及到的代码比较复杂,名字也不容易记住,大家只需要把代码复制到编译器,看一下运行效果就可以。本节重在演示C语言能做什么,而不是教授大家知识点(这些知识点也不是C语言的重点),所以,不理解的就放过吧,不会影响后面的学习。
C语言不总是“黑底白字”,它也可以是彩色的,可以调用Windows.h
头文件下的SetConsoleTextAttribute
函数改变文字和背景颜色。
调用形式为:
SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
hConsoleOutput
表示控制台缓冲区句柄,可以通过GetStdHandle(STD_OUTPUT_HANDLE)
来获得;wAttributes
表示文字颜色和背景颜色。
这里不去追究HANDLE的含义,后续在Windows开发中会详细讲解。
WORD
在windows.h
中定义,等同于unsigned short
,使用低4位表示文字(前景)颜色,高4位表示文字背景颜色,所以它的取值为xx
。x为一位16进制数,即0~F
都可以使用,可以随意组合。
0~F 分别代表的颜色如下:
0 = 黑色 8 = 灰色 1 = 淡蓝 9 = 蓝色
2 = 淡绿 A = 绿色 3 = 湖蓝 B = 淡浅绿
C = 红色 4 = 淡红 5 = 紫色 D = 淡紫
6 = 黄色 E = 淡黄 7 = 白色 F = 亮白
例如,将背景设置为淡绿色,文字设置为红色:
- #include <stdio.h>
- #include <windows.h>
- int main(){
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hConsole, 0x2C );
- puts("C语言中文网");
- return 0;
- }
运行结果:
如果只希望设置文字颜色,背景保持黑色,那么也可以只给出一位16进制数,例如:
SetConsoleTextAttribute(hConsole, 0xC ); //将文字颜色设置为红色 SetConsoleTextAttribute(hConsole, 0xF ); //将文字颜色设置为白色
再来看一个例子:
- #include <stdio.h>
- #include <windows.h>
- int main(){
- HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(hConsole, 0xC );
- puts("红色文字");
- SetConsoleTextAttribute(hConsole, 0xF );
- puts("白色文字");
- SetConsoleTextAttribute(hConsole, 2 );
- puts("淡绿色文字");
- return 0;
- }
运行结果:
彩色版的C语言,让文字更漂亮相关推荐
- 立体栅格地图_更新丨智图栅格数据—彩色版地图,智臻智美,带来更好的业务体验...
-www.geoq.cn- 智图栅格数据 彩色版地图 更新 -2019Q3- √ 数据内容持续丰富 √ 行政区划保持最新 √ 显示效果体验更佳 壹 数据丰富程度 兴趣点数量由3100万增加至3300万 ...
- 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》目录—导读
版权声明 Adobe Illustrator CC 2014中文版经典教程(彩色版) Adobe® Illustrator® CC Classroom in a Book (2014 release) ...
- 《Adobe Illustrator CS6中文版经典教程(彩色版)》目录—导读
版权声明 Adobe Illustrator CS6中文版经典教程(彩色版) Authorized translation from the English language edition, ent ...
- 《Adobe Premiere Pro CC经典教程(彩色版)》——2.3 设置序列
本节书摘来自异步社区<Adobe Premiere Pro CC经典教程(彩色版)>一书中的第2课,第2.3节,作者 [英国]Maxim Jago(马克西姆 亚戈),译者 陈昕昕,郭光伟 ...
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第2课2.10节使用内容识别修补...
本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第2课2.10节使用内容识别修补,作者[美]Adobe公司,更多章节内容可以访问云栖社区&qu ...
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第2课2.4节在Camera Raw中调整颜色...
本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第2课2.4节在Camera Raw中调整颜色,作者[美]Adobe公司,更多章节内容可以访问 ...
- 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课1.4节修改图稿的视图...
本节书摘来自异步社区<Adobe Illustrator CC 2014中文版经典教程(彩色版)>一书中的第1课1.4节修改图稿的视图,作者[美]Brian Wood,更多章节内容可以访问 ...
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第1课1.4节在Photoshop中还原操作...
本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第1课1.4节在Photoshop中还原操作,作者[美]Adobe公司,更多章节内容可以访问云 ...
- 图解HTTP+彩色版 pdf版学习(更新中)
图解HTTP+彩色版 pdf版学习 第一章 了解Web及网络基础 3.27 使用 HTTP 协议访问 Web 当我们在网页浏览器(Web browser)的地址栏中输入 URL时,Web 页面是如何呈 ...
最新文章
- 怎么提高大表和小表的连接查询效率?
- Apache理论与实战
- Citrix XenServer 关键配置文件
- 【数据立方】数据立方体的有效计算、物化materialization,索引OLAP数据
- spring webmvc使用ResponseBody前,在配置文件中的配置
- 信息安全之仿射密码加密和解密
- 安装SQL提示重启电脑失败,解决办法
- 最长递增子序列 子串_最长递增奇偶子序列
- html加载状态,js等待页面加载完成
- 开源软件公司易犯的 5 大错误,又该如何避免?
- Allure2--自动化测试报告生成
- JavaScript学习(六十六)—字符串对象常用的属性和方法总结以及数组元素的排序问题
- 36. 理解copy_if算法的正确实现
- 第三届 Apache Flink 极客挑战赛暨 AAIG CUP 攻略发布!
- zhaow游戏知识问答
- 大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页
- 浅谈MySQL Binlog
- android手机 无电池开机画面,华为手机开不了机停在开机画面怎么办【详解】
- Spring中的静态工厂与实例工厂
- OSChina 周二乱弹 ——现在我满眼都是小星星