C语言控制台美化教程

本文介绍两种控制控制台颜色的方法

一.边框美化字符

第一套:┃━  ┓  ┗  ┏  ┛

第二套:+-

二.system()函数

在windows下的system函数中命令可以不区别大小写!
函数: system ()
功 能: 执行DOS命令
函数定义: int system(char *command);

***system函数已经被收录在标准c库中,可以直接调用。***

system()可以执行DOS命令,详细研究请进入连接:

 https://blog.csdn.net/qq_41112517/article/details/78968589

1.用来修改字体颜色和背景颜色

用 system(“color 0A”); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色

A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

2.用来暂停和清屏

system("pause");   //暂停

system("cls");    //清屏

三.SetConsoleTextAttribute()函数实现更细致的控制台美化设置

  •  头文件

#include<windows.h>

  • 使用方法

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),属性1|属性2|...|属性n);

  • 常见属性

FOREGROUND_BLUE

前景色包含 蓝色

FOREGROUND_GREEN

前景色包含 绿色

FOREGROUND_RED

前景色包含 红色

FOREGROUND_INTENSITY

前景色加强

BACKGROUND_BLUE

背景色包含 蓝色

BACKGROUND_GREEN

背景色包含 绿色

BACKGROUND_RED

背景色包含 红色

BACKGROUND_INTENSITY

背景色加强

COMMON_LVB_GRID_HORIZONTAL

顶部水平网格

COMMON_LVB_GRID_LVERTICAL

左竖直网格

COMMON_LVB_GRID_RVERTICAL

右竖直网格

COMMON_LVB_UNDERSCORE

下划线

#include <windows.h> 
#include <stdio.h>
#include <stdlib.h>
   
int main()  
{  
    HANDLEhOut;  
 
    //  获取输出流的句柄
    hOut = GetStdHandle(STD_OUTPUT_HANDLE);//也可以直接在SetConsoleTextAttribute中使用GetStdHandle(STD_OUTPUT_HANDLE)
 
    printf("普通颜色看看\n");
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_GREEN |     // 前景色_绿色
                            FOREGROUND_INTENSITY );// 前景色_加强
    printf("设置了浅绿色.\n"); 
    printf("并且完了之后就一直是浅绿色\n");
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_BLUE |      // 前景色_蓝色
                            FOREGROUND_INTENSITY | // 前景色_加强
                            COMMON_LVB_UNDERSCORE);// 添加下划线
    printf("文字蓝色,再加个下划线.\n");   
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_RED |       // 前景色_红色
                            FOREGROUND_INTENSITY | // 前景色_加强
                            BACKGROUND_BLUE );     // 背景色_蓝色
    printf("设置文字红色,背景蓝色\n"); 
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_RED |           // 前景色_红色
                            FOREGROUND_INTENSITY |     // 前景色_加强
                            COMMON_LVB_GRID_LVERTICAL );// 网格_左_竖
    printf("                      加 左 网格\n"); 
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_RED |           // 前景色_红色
                            FOREGROUND_INTENSITY |     // 前景色_加强
                            COMMON_LVB_GRID_RVERTICAL );// 网格_右_竖 
    printf("                      加 右 网格\n");   
 
    SetConsoleTextAttribute(hOut, 
                            FOREGROUND_RED |   // 前景色_红色
                            FOREGROUND_GREEN | // 前景色_绿色
                            FOREGROUND_BLUE ); // 前景色_蓝色
    printf("改回白色\n"); 
 
    system("pause");
    return0;  
}
  • 具体配色参见:

 例如紫色可以用 蓝色+红色 配出来:

猜你喜欢

转载自blog.csdn.net/qq_41420747/article/details/81258709
今日推荐