c语言颜色代码详解

c语言颜色代码

初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性。

/*
颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加强 | 背景加强);
	前景色:数字0-15 或 FOREGROUND_XXX 表示	(其中XXX可用BLUE、RED、GREEN表示)
	前景加强:数字8 或 FOREGROUND_INTENSITY 表示
	背景色:数字16 32 64 或 BACKGROUND_XXX 三种颜色表示
	背景加强: 数字128 或 BACKGROUND_INTENSITY 表示
主要应用:改变指定区域字体与背景的颜色
前景颜色对应值:
  0=黑色    8=灰色  
  1=蓝色    9=淡蓝色  十六进制    
  2=绿色    10=淡绿色  0xa    
  3=湖蓝色    11=淡浅绿色  0xb 
  4=红色    12=淡红色  0xc  
  5=紫色    13=淡紫色  0xd    
  6=黄色    14=淡黄色  0xe    
  7=白色    15=亮白色  0xf
  也可以把这些值设置成常量。
*/
#include <stdio.h>
#include <windows.h>
void color(short x)	//自定义函根据参数改变颜色
{
 if(x>=0 && x<=15)//参数在0-15的范围颜色
 	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);	//只有一个参数,改变字体颜色
 else//默认的颜色白色
 	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}
int main()
{
	printf("此处为没调用颜色函数之前默认的颜色\n");
	//调用自定义color(x)函数 改变的颜色
 color(0);	printf("黑色\n");
 color(1); 	printf("蓝色\n");
 color(2); 	printf("绿色\n");
 color(3); 	printf("湖蓝色\n");
 color(4); 	printf("红色\n");
 color(5); 	printf("紫色\n");
 color(6); 	printf("黄色\n");
 color(7); 	printf("白色\n");
 color(8); 	printf("灰色\n");
 color(9); 	printf("淡蓝色\n");
 color(10); 	printf("淡绿色\n");
 color(11); 	printf("淡浅绿色\n");
 color(12); printf("淡红色\n");
 color(13); 	printf("淡紫色\n");
 color(14); 	printf("淡黄色\n");
 color(15); 	printf("亮白色\n");
 color(16); //因为这里大于15,恢复默认的颜色
 printf("回到原来颜色\n");
 //直接使用颜色函数
 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
 printf("红色字体 前景加强 绿色背景 背景加强\n");
 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15 | 8 | 128 | 64);
 printf("亮白色字体 前景加强 红色背景 背景加强\n");
	//声明句柄再调用函数
	HANDLE JB = GetStdHandle(STD_OUTPUT_HANDLE);//创建并实例化句柄
	SetConsoleTextAttribute(JB, 2 | 8);
	printf("颜色及对应数字表:\n");
	for(int i = 0;i < 1000;i ++){
		//color(16);printf(" ");
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), i);
		printf("%-3d", i);
		color(16);printf(" ");
		if(i % 16 == 0)	printf("\n");
	}
	color(16);
 return 0;
 //类似的函数还有system("color XX");(X是十六进制0~F之间的数,不过这种函数改变的是整个画面,而不能让多处局部变色;
}

以上实例很简单,大家可以在本地测试下,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • C语言游戏必备:光标定位与颜色设置的实现方法

    喜欢编写游戏的朋友们,你们有福了,这个资料足以让你玩转WINDOWS和Linux下的光标定位以及颜色,enjoy it. 一.WINDOWS:1.光标定位函数: 复制代码 代码如下: #include <windows.h>#include <conio.h>/****** 光标移到指定位置 ********************************/void gotoxy(HANDLE hOut, int x, int y){      COORD pos;      po

  • c语言颜色代码详解

    c语言颜色代码 初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性. /* 颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加强 | 背景加强); 前景色:数字0-15 或 FOREGROUND_XXX 表示 (其中XXX可用BLUE.RED.GREEN表示) 前景加强:数字8 或 FOREGROUND_INTENSITY 表示 背景色:数字16 32 64 或 BAC

  • Java语言中的内存泄露代码详解

    Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存.理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同. JAVA中的内存管理 要了解Java中的内存泄露,首先就得知道Java中的内存是如何管理的. 在Java程序中,我们通常使用new为对象分配内存,而这些内存空间都在堆(Heap)上. 下面看一个示例: public class Simple { public static vo

  • Java语言实现数据结构栈代码详解

    近来复习数据结构,自己动手实现了栈.栈是一种限制插入和删除只能在一个位置上的表.最基本的操作是进栈和出栈,因此,又被叫作"先进后出"表. 首先了解下栈的概念: 栈是限定仅在表头进行插入和删除操作的线性表.有时又叫LIFO(后进先出表).要搞清楚这个概念,首先要明白"栈"原来的意思,如此才能把握本质. "栈"者,存储货物或供旅客住宿的地方,可引申为仓库.中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈.出栈的说法. 实现方式是

  • Android实现状态栏和虚拟按键背景颜色的变化实例代码详解

    今天介绍一下,我在项目开发过程中,实现状态栏和虚拟按键背景颜色变化的方法,实现方式是,通过隐藏系统的状态栏和虚拟按键的背景,实现图片和背景显示到状态栏和虚拟按键下方.下面来看实现代码: 实现状态栏背景的设置 状态栏工具类 public class StatusBarUtil { /** * 设置沉浸式状态栏 * * @param activity 需要设置的activity */ public static void setTransparent(Activity activity) { //A

  • C语言中的指针以及二级指针代码详解

    很多初学者都对C中的指针很迷糊,希望这篇blog能帮助到大家: 1.什么是"指针": 在执行C程序的时候,由于我们的数据是存储在内存中的.所以对于C程序本身来说,如果想找到相应被调用的数据,就要知道存储该数据的内存地址是多少,换言之,C程序通过已知的内存地址到相应的内存位置存储数据. 这里简单说一下内存管理(对于初学者来说.为了避免专业术语引发的理解问题,下面的叙述尽量避免专业定义:),对于现代计算机系统来说,内存空间分为两个区域,一个是"数据区",一个是"

  • vscode设置Fira_Code字体及改变编辑器字体、背景颜色的代码详解

    一.设置Fira_Code字体 1.下载字体 这里给出github下载链接,点击链接后在README.md中的Download & Install一栏中即可下载,链接中也包括字体示例及介绍,可自行查看. Fira_Code字体下载 2,安装字体 下载并解压,进入里面的ttf文件夹,双击或右击后点击安装,里面包含六种样式,可以选择性安装或全安装即可. 3,设置vscode 打开vscode,点击左下角齿轮形状图标,选择settings,得到下图所示界面: 根据上图箭头所示依次点击Font,Edit

  • C语言实现三子棋的步骤和代码详解

    一.问题描述 用c语言实现三子棋. 二.基本流程 在写三子棋的代码之前,我们来看看实现这个游戏的逻辑: 1.菜单界面选择开始或者退出游戏. 2.创建棋盘并初始化. 3.打印棋盘. 4.玩家落子(玩家输入行列坐标的方式来落子),'x'表示玩家落子. 5.判定胜负关系(输,赢,和棋),'q'表示和棋. 6.电脑落子(随机位置落子) ,'o'表示电脑落子. 7.判定胜负关系. 8.回到 步骤2 继续执行. 三.步骤 1.菜单界面 1.开始游戏 0.退出游戏 int menu(){ printf("--

  • C语言冒泡排序算法代码详解

    今天我们来用C语言实现一下冒泡排序 首先我们来了解一下什么叫做冒泡排序,冒泡顾名思义把质量轻的气体(如二氧化碳一样)浮到水面上(如可乐中的二氧化碳),因此冒泡排序的原理就是N个元素在一个周期中,微观上依次进行两两元素的比较,小的元素就被放在前面,大的元素放在后面,以此来进行N-1个周期,来完成冒泡排序. 上文中的一个周期,即外循环,依次进行比较,即内循环. 文字看着很迷糊?没事儿,上图 如图所示,两两元素依次进行比较,小的元素往前移动,大的元素往后移动,直至元素顺序是升序的形式,即移动了 元素-

  • 用c语言编写一个通讯录代码详解

    目录 实现通讯录的思路如下: 总结 实现通讯录的思路如下: 1.程序运行起来时用户首先要看到菜单栏选项并且对应菜单栏所给出的选项做出选择,这里我们简单设计一个Menu()函数可以让用户看见可选项目: 2.用户可选的范围应该是1~7,为了避免用户做出超出范围的选择我们可以用switch语句来判断用户的选择若用户输入的数字非法还可以让用户继续选择,而继续选择这个动作需要用到while语句,用户对通讯录的不断操作也需要用到while语句: 3.用户选择不同的选项,程序就要调用对应的函数来实现其功能并且

  • JavaScript编写棋盘覆盖代码详解

    一.前言 之前做了一个算法作业,叫做棋盘覆盖,本来需要用c语言来编写的,但是因为我的c语言是半桶水(哈哈),所以索性就把网上的c语言写法改成JavaScript写法,并且把它的覆盖效果显示出来 二.关键代码 <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <titl

随机推荐