1、颜色
法一:定义改变文字的颜色
int color(int num)
//num为每一种颜色所代表的数字,范围是0~15
{
//SetConsoleTextAttribute是设置控制台窗口字体颜色和背景色的函数
//GetStdHandle是获得输入、输出或错误的屏幕缓冲区的句柄
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),num);
return 0;
}
测试:
#include <stdio.h>
#include <windows.h>
int color(int num)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),num);
return 0;
}
int main()
{
int i;
for(i=0;i<16;i++)
{
color(i);
printf("\t\tWELCOME\n");
}
return 0;
}
法二:system自带改变颜色
有一弊端是不能局部改变,只能全部改变
测试:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
system("color 01");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 02");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 03");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 04");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 05");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 06");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 07");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 08");
printf("\t\tWELCOME\n");
Sleep(100);
system("color 09");
printf("\t\tWELCOME\n");
Sleep(100);
system("color A");
printf("\t\tWELCOME\n");
Sleep(100);
system("color B");
printf("\t\tWELCOME\n");
Sleep(100);
system("color C");
printf("\t\tWELCOME\n");
Sleep(100);
system("color D");
printf("\t\tWELCOME\n");
Sleep(100);
system("color E");
printf("\t\tWELCOME\n");
Sleep(100);
system("color F");
printf("\t\tWELCOME\n");
Sleep(100);
return 0;
}
法三:定义局部文字颜色和背景色
void setcolor(n)
{
//颜色号为0-15
//文字颜色为n%15
//背景色为n/16
HANDLE hCon;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,n);
}
这个方法其实跟法一是一样的,我本来是想设置局部的背景色,看来失败了
经过查资料:其实SetConsoleTextAtrribute()函数就是有设置背景色的参数的
//直接使用颜色函数
printf("红色字体 前景加强 绿色背景 背景加强\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED |
FOREGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
参数:
大家可以多试试,效果还是不错的,注意颜色搭配鸭