欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设置c语言控制台大小问题

程序员文章站 2022-05-22 18:59:38
...

控制台大小设置

手动控制

  • 在输出的控制台设置大小
    1.打开控制台,右键如图任一部分,点击属性(p)
    设置c语言控制台大小问题
    设置c语言控制台大小问题

2.如图中,选择第三栏—布局----去掉勾选之后即可进自行调节设置c语言控制台大小问题
注意:

  • 屏幕缓冲区大小表示在此宽度范围内不会自动换行,如果不想自动换行输出一部分内容,可以设置较大值
  • 窗口大小表示控制台的可见大小,而不会根据内容的大小进行调整,如果屏幕缓冲区宽度大于窗口大小宽度,则控制台底部会出现横向滑动条。

函数控制

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);

注意: 设置时为了避免冲突,请使用手动或者代码设置,两者不需同时设置。设置c语言控制台大小问题