设置c语言控制台大小问题
程序员文章站
2022-05-22 18:59:38
...
控制台大小设置
手动控制
- 在输出的控制台设置大小
1.打开控制台,右键如图任一部分,点击属性(p)
2.如图中,选择第三栏—布局----去掉勾选之后即可进自行调节
注意:
- 屏幕缓冲区大小表示在此宽度范围内不会自动换行,如果不想自动换行输出一部分内容,可以设置较大值
- 窗口大小表示控制台的可见大小,而不会根据内容的大小进行调整,如果屏幕缓冲区宽度大于窗口大小宽度,则控制台底部会出现横向滑动条。
函数控制
1.使用控制台函数
//表示控制台窗口的大小,必须包含头文件:<windows.h>、<stdlib.h>
system("mode con cols=100 lines=50 ");
//API有关窗口信息函数
//获取控制台窗口信息
GetConsoleScreenBufferInfo();
//获取控制台窗口标题
GetConsoleTitle();
//更改指定缓冲区大小
SetConsoleScreenBufferSize();
//设置控制台窗口标题
SetConsoleTitle();
//设置控制台窗口信息
SetConsoleWindowInfo();
举例:
HANDLE handle_out; //定义一个句柄
CONSOLE_SCREEN_BUFFER_INFO scbi; //定义一个窗口缓冲区信息结构体
COORD size = {80, 25}; //定义一个坐标结构体
char strtitle[N];
handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄
SetConsoleScreenBufferSize(handle_out, size); // 重新设置缓冲区大小
_getch();
SMALL_RECT rc = {0, 0, 80-1, 25-1}; // 重置窗口位置和大小
SetConsoleWindowInfo(handle_out, 1, &rc);
CloseHandle(handle_out); //关闭标准输出设备句柄
/* 其中,SetConsoleScreenBufferSize函数指定新的控制台屏幕缓冲区的大小,以字符列和行为单位。指定的宽度和高度不能小于控制台屏幕缓冲区窗口的宽度和高度。指定的大小也不能小于系统允许的最小大小。这个最低取决于控制台当前的字体大小 (由用户选定)。*/
使用变量法
char chCmd[32];
sprintf(chCmd,"mode con cols=%d lines=%d",height,width);
system(stCmd);
注意: 设置时为了避免冲突,请使用手动或者代码设置,两者不需同时设置。
推荐阅读
-
Notepad++怎么配置默认语言?notepad设置默认语言为c和Java语言的方法
-
C# Aforge设置摄像头视频属性和控制属性
-
一起talk C栗子吧(第一百八十四回:C语言实例--在printf函数中设置输出宽度三)
-
单片机:按键(使用中断)控制数码管的数字加减(c语言实现)
-
C语言入门(九)循环语句和循环控制
-
C语言实现定时器控制LED灯闪烁
-
C语言实现控制台版贪吃蛇游戏
-
【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )
-
c语言 printf 输出格式控制 %#x 带0x 16进制的输出
-
一起talk C栗子吧(第一百六十七回:C语言实例--控制终端字符颜色)