C 语言的控制台输出只是 “黑底白字”吗 ?
文章目錄
- 前言
- 一、如何改變控制臺輸出的顏色?
- 二、單純只設(shè)置文字顏色
- 總結(jié)
前言
C 語言控制臺輸出的只是 “黑底白字”嗎 ?不!它也可以是有彩色的,原來我們可以調(diào)用 Windows.h 頭文件下的 SetConsoleTextAttribute 函數(shù)來實現(xiàn)改變文字和背景的顏色。
一、如何改變控制臺輸出的顏色?
1、調(diào)用 Windows.h 頭文件下的 SetConsoleTextAttribute 函數(shù)
調(diào)用的形式如下:
SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes );
-
hConsoleOutput 表示控制臺緩沖區(qū)句柄,可以通過 GetStdHandle(STD_OUTPUT_HANDLE) 來獲得.
-
WORD 在 Windows.h 中定義,等同于 unsigned short,使用低 4 位表示文字(前景)顏色,高 4 位表示文字背景顏色,所以它的取值為 xx。 x 是一位十六進制數(shù),即 0 ~ F 都可以使用,可以隨意組合。
-
wAttributes 表示文字顏色和背景顏色。
0 ~ F 分別代表的顏色如下:
0 = 黑色 —— 8 = 灰色
1 = 藍色 —— 9 = 淡藍色
2 = 綠色 —— A = 淡綠色
3 = 淺綠色 —— B = 淡淺綠色
4 = 紅色 —— C = 淡紅色
5 = 紫色 —— D = 淡紫色
6 = 黃色 —— E = 淡黃色
7 = 白色 —— F = 亮白色
例如,我們將背景設(shè)置為紫色,文字設(shè)置為黃色:
#include <stdio.h> #include <windows.h>int main() {HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hConsole, 0x56);printf("Hello world !\n");return 0; }運行結(jié)果如下:
二、單純只設(shè)置文字顏色
1、如果你只想設(shè)置文字顏色,不改變背景顏色,那么也可以只給出一位 16 進制數(shù)。
例如:
SetConsoleTextAttribute(hConsole, 0xC ); //將文字顏色設(shè)置為紅色
SetConsoleTextAttribute(hConsole, 0xF ); //將文字顏色設(shè)置為白色
SetConsoleTextAttribute(hConsole, 2 ); //將文字顏色設(shè)置為綠色
運行結(jié)果如下:
總結(jié)
以上就是今天要講的內(nèi)容,學(xué)完之后你就可以設(shè)置你自己喜歡的顏色 。
總結(jié)
以上是生活随笔為你收集整理的C 语言的控制台输出只是 “黑底白字”吗 ?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 完美手柄震动效果-xbox360手柄模拟
- 下一篇: PowerPoint教程资源专题资源免费