彩色版的C语言,让文字更漂亮 此为收费教程,尊重作者的原创,请到http://c.biancheng.net/cpp/u/jiaocheng/,缴费学习,我这边隐藏文章内容,供自己学习之用。
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 = 亮白例如,将背景设置为淡绿色,文字设置为红色:
1 2 3 4 5 6 7 8 9 #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 ); //将文字颜色设置为白色再来看一个例子:
1 2 3 4 5 6 7 8 9 10 11 #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;
» 本文链接:
http://www.0523jz.com/2462.html
» 订阅本站:
http://www.0523jz.com/feed
» 转载请注明来源:王桂明's Blog
» 《第2章 C语言初探:14、彩色版的C语言,让文字更漂亮》
现在只有1个回复
Comment (1)
Trackbacks (0)
-
还没有Trackbacks
威慑么不可以看呢 会员太贵了啊