先给出测试代码:
#include<iostream>
 #include<windows.h>
 using namespace std;
 int main()
 {
     HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
     
     int textColor = 0xf0;
     SetConsoleTextAttribute(h, textColor);
     cout << "背景的颜色与相应的编码" << endl;
    cout << hex << showbase;                                          //输出数值的格式设置为16进制显示
     for (int i = 0; i < 16; i++)
     {
         SetConsoleTextAttribute(h, textColor);
         cout << textColor << "的颜色" << endl;
         textColor++;
     }
    textColor = 0xf0;
     SetConsoleTextAttribute(h, textColor);
     cout << "背景的颜色与相应的编码" << endl;
     
     textColor = 0x00;
     for (int i = 0; i < 16; i++)
     {
         SetConsoleTextAttribute(h, textColor);
         cout << textColor << "的颜色" << endl;
         textColor+=16;
     }
     system("pause");
     return 0;
}
学习笔记:
(1)SetConsoleTextAttribute函数时Windows系统中一个可以设置控制台窗口字体颜色和背景颜色的API函数,在此函数使用前,需要包含头文件:windows.h
(2) HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);此处h对应控制台窗口的句柄,GetStdHandle(nStdHandle)是返回标准的输入,输出或者错误的设备的句柄,参数nStdHandle的值可以是STD_INPUT_HANDLE(标准输入的句柄),STD_OUTPUT_HANDLE(标准输出的句柄),STD_ERROR_HANDLE(标准错误的句柄)。此处关于句柄的概念,大家可以再学习一下。










