system函数
注:要想使用system函数必须包括 <windows.h>的头文件
- 设置控制台标题
//设置新的标题为test
system("tilte test")
- 设置控制台窗口大小
//设置控制台窗口大小为宽30,高20
system("mode con cols=30 lines=20");
- 设置控制台前景色和背景色
//color后面的参数第一个数字为背景色号第二个数字为文字色号
system("color 8E");
//附各颜色的代码对照表
/*
0=黑色 1=蓝色 2=绿色 3=湖蓝色
4=红色 5=紫色 6=黄色 7=白色
8=灰色 9=淡蓝色
A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色
E=淡黄色 F=亮白色
*/
API函数
注:要想使用API函数也必须包括 <windows.h>的头文件
- 设置控制台标题
//设置新的标题为test
SetConsoleTitle("test");
- 设置控制台窗口大小
//取得输出句柄
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
//为COORD结构体赋值,作为缓冲区大小的参数
COORD size_x;
size_x.X = 51;//宽
size_x.Y = 21;//高
//设置缓冲区大小为宽51高21
SetConsoleScreenBufferSize(hOut,size_x);
//为SMALL_RECT结构体赋值,作为显示的窗口大小的参数
SMALL_RECT rc;
//确定左上角顶点位置再确定宽和高就可以在平面中确定唯一矩形
//规定开始显示的窗口左上角顶点距离设置好的缓冲区矩形框距离左侧为5
rc.Left = 0;
//规定开始显示的窗口左上角顶点距离设置好的缓冲区矩形框距离上侧为5
rc.Top = 0;
//规定开始显示的窗口宽为40
rc.Right = 40;
//规定开始显示的窗口高为20
rc.Bottom = 20;
SetConsoleWindowInfo(hOut, TRUE, &rc);//设置窗口大小
//注意:这里的显示窗口不可以等于或大于缓冲区的大小
- 设置控制台前景色和背景色
//取标准输入输出句柄
HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
//设置文字颜色为绿色
//FOREGROUND_INTENSITY表示将设置的颜色高亮显示
SetConsoleTextAttribute(handle,FOREGROUND_INTENSITY | FOREGROUND_GREEN);
//设置背景色为蓝色
SetConsoleTextAttribute(handle,BACKGROUND_INTENSITY | BACKGROUND_BLUE);
//也可以同时设置背景色与前景色
SetConsoleTextAttribute(handle,0xF);
//附该函数的详细使用说明
//https://baike.baidu.com/item/SetConsoleTextAttribute/570121?fr=aladdin
使用特点:
system函数使用语法简单,但是在改变背景色上以最后修改的颜色为准,故无法达到多种颜色兼容存在,但是API函数可以很好的做到这一点。在改变窗口大小的问题上 system 修改后的窗口只是固定的大小,而API函数修改后的窗口有滚动条可以滑动查看不再窗口范围内的内容。
综上:
在修改控制台标题是=时两种方式都推荐
在修改控制台窗口大小上视情况而定
在修改背景和前景色时
若想使用多种颜色方案,使用API函数
使用单一的配色方案,使用system函数比较方便
更多相关内容请参见