【C语言】- 设置控制台文字颜色、大小和字体

发布时间:2024年01月18日

【C语言】- 设置控制台标题、编码、文字颜色、大小和字体

1 - 设置控制台标题

因为要用到 Windows API,所以需要包含头文件 Windows.h

#include <Windows.h>

// 标题设置声明
BOOL WINAPI SetConsoleTitle(_In_ LPCTSTR lpConsoleTitle); 

调用示例

#include <Windows.h>

int main(int argc, char* argv[])
{
	// 字符串常量 前面加上 L 会转换成宽字符 wchar_t*
	SetConsoleTitle(L"控制台应用测试");
	
	// 防止控制台退出
	system("pause");
	// 防止控制台退出 也可以使用 
	getchar();
}

效果如图:
在这里插入图片描述

2 - 设置控制台编码

若控制台输出中文为乱码,则可以使用 SetConsoleOutputCP 设置控制台输出代码页

BOOL WINAPI SetConsoleOutputCP(_In_ UINT wCodePageID);

CP 表示 Code Page 代码也,GBK 为 936, UTF-8 为 65001。
更多内容 参见 Microsoft 官网 SetConsoleOutputCP

SetConsoleOutputCP(65001);

3 - 设置控制台字体和大小

设置控制台字体和大小,首先需要获取控制台句柄

HANDLE WINAPI GetStdHandle(_In_ DWORD nStdHandle);

控制台输出句柄需要设置参数 STD_OUTPUT_HANDLE
更多内容,参见官网 GetStdHandleSetCurrentConsoleFontEX

配置结构体

CONSOLE_FONT_INFOEX fontInfo;
fontInfo.cbSize = sizeof(fontInfo); // 结构体的大小
fontInfo.nFont = 0;
fontInfo.dwFontSize.X = 0;
fontInfo.dwFontSize.Y = 20; // 尺寸
fontInfo.FontFamily = FF_DONTCARE;
fontInfo.FontWeight = FW_NORMAL; // 粗细
wcscpy_s(fontInfo.FaceName, L"Consolas"); // 字体

获取句柄与设置

HANDLE handle
if ((handle= GetStdHandle(STD_OUTPUT_HANDLE)) != INVALID_HANDLE_VALUE)
{
	SetCurrentConsoleFontEx(handle, FALSE, &fontInfo);
}

参考链接

文章来源:https://blog.csdn.net/weixin_44488341/article/details/135684816
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。