控制台标题、大小、前景色和背景色的两种改变方式

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函数比较方便


更多相关内容请参见

我的博客

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值