C/C++ 控制台演示彩色输出进度
#include <stdio.h>
#include <windows.h> BOOL SetConsoleColor(WORD wAttributes); int main()
{
SetConsoleColor(FOREGROUND_RED | FOREGROUND_INTENSITY); const int NUM = ;//任务完成总量 for (int i = ; i < NUM; i++)
{
//用Sleep()来代替一些费时的操作,如读写文件,大量的运算。
Sleep(); //some work to do
//输出百分比
printf("%.2lf%%\r", i * 100.0/ NUM);
}
return ;
} BOOL SetConsoleColor(WORD wAttributes)
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
if (hConsole == INVALID_HANDLE_VALUE)
return FALSE; return SetConsoleTextAttribute(hConsole, wAttributes);
}
知识点:
1) \r 它是转义字符中的回车符,准确的讲应该是回到本行开始处。
2) HANDLE GetStdHandle(DWORD nStdHandle);
参数有:STD_INPUT_HANDLE,STD_OUTPUT_HANDLE及STD_ERROR_HANDLE。传入STD_OUTPUT_HANDLE就可以得到控制台输出设备的句柄。
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput,WORD wAttributes);
第一个参数为控制台standard input, standard output, or standard error的设备句柄,第二个参数用来设备设备的属性,这里详细介绍下表示颜色的参数。
文字颜色使用如下组合:
FOREGROUND_BLUE 0x0001 // text color contains blue.
FOREGROUND_GREEN 0x0002 // text color contains green.
FOREGROUND_RED 0x0004 // text color contains red.
FOREGROUND_INTENSITY 0x0008 // text color is intensified.高亮颜色
背景颜色使用如下组合:
BACKGROUND_BLUE 0x0010 // background color contains blue.
BACKGROUND_GREEN 0x0020 // background color contains green.
BACKGROUND_RED 0x0040 // background color contains red.
BACKGROUND_INTENSITY 0x0080 // background color is intensified.
上面的颜色可以任意组合,如知道黄色可以由红色和绿色组成,所以可以用FOREGROUND_GREEN | FOREGROUND_RED来表示黄色的文字。
默认情况下控制台的文字颜色是白色即用FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE也可以直接用7表示,背景颜色为黑色即用0表示。
C/C++ 控制台演示彩色输出进度的更多相关文章
- 双缓冲解决控制台应用程序输出“闪屏”(C/C++,Windows)
使用 C 语言编写游戏的小伙伴们想必起初都要遇到这样的问题,在不断清屏输出数据的过程中,控制台中的输出内容会不断地闪屏.出现这个问题的原因是程序对数据处理花掉的时间影响到了数据显示,或许你可以使用局部 ...
- jquery——彩色投票进度条
一.需求 如下图 重点是要实现进度条. 二.分析 html5新增及删除标签一文中提到过html5新增了progress标签.但是肯定有兼容性问题.生成环境不适用,所以要模拟实现. 原理:动态设置< ...
- std::cout彩色输出
Mac OS效果 Windows 效果 想写这个东西其实是因为最近要写个命令行的工具,但是有个问题是什么呢?就是传统的那个黑漆漆的窗口看起来很蛋疼.并且完全看不到重点,于是就想起 来这么一个东西.相对 ...
- Python同时向控制台和文件输出日志logging的方法 Python logging模块详解
Python同时向控制台和文件输出日志logging的方法http://www.jb51.net/article/66756.htm 1 #-*- coding:utf-8 -*- 2 import ...
- SpringBoot之彩色输出
spring.output.ansi.enabled NEVER:禁用ANSI-colored输出(默认项) DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项) ALWAYS:总 ...
- Java 控制台输入数字 输出乘法表(代码练习)
最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...
- Git设置彩色输出
彩色输出 git config --global color.status auto git config --global color.diff auto git config --global c ...
- linux打印彩色输出
在终端生成彩色输出,我们可以使用转义序列来实现. 每种颜色都有对应的颜色码.比如:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 要打印彩色文 ...
- 改变 C/C++ 控制台程序的输出颜色和样式
我们经常可以看见Linux自带终端下的许多程序都输出了不同颜色和底纹的字体.最近也想要自己实现一下这种效果,方法是在输出流中插入占位符\033[***. 我从网上收集了一些常用的控制语句,并用以下代码 ...
随机推荐
- CCCatmullRomBy和CCPointArray
CCCatmullRomBy:把某一对象以Catmull-Rom curve曲线移动一段距离 CCPointArray *array = CCPointArray::create(); array-& ...
- Java并发编程之并发代码设计
引子 之前的文章我们探讨了引发线程安全的原因主要是由于多线程的对共享内存的操作导致的可见性或有序性被破坏,从而导致内存一致性的错误.那么如何设计并发代码解决这个问题呐?我们一般使用这几种方式: 线程封 ...
- Facebook提出DensePose数据集和网络架构:可实现实时的人体姿态估计
https://baijiahao.baidu.com/s?id=1591987712899539583 选自arXiv 作者:Rza Alp Güler, Natalia Neverova, Ias ...
- Memory Analyzer tool(MAT)分析内存泄漏---理解Retained Heap、Shallow Heap、GC Root
Shallow Heap Size 指对象自身所占用的内存大小,不包含其引用的对象所占的内存大小. 1.数组类型 数组元素对象所占内存的大小总和. 2.非数组类型 对象与它所有的成员变量大小的总和.当 ...
- 解决MAC下xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)的问题
将系统升级到了最新10.13.3 macOS High Sierra后,在使用ctags命令时会出现如下问题: xcrun: error: invalid active developer path ...
- Ribbon重试机制与Hystrix熔断机制的配置问题
Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制 ...
- IDEA用maven打war包
打包其实很简单: 把tomcat停掉,点击Maven Projects ,点击clean , 点击package 自动打包完成. 查看包位置: 这是包的位置,通过查看PATH就可以知道你的包在哪里了. ...
- Linux mdev 热拔插配置
在嵌入式领域使用比较多的是用 mdev 进行热插拔的操作. 文件系统进行配置 # 首先对 /etc/fstab 进行配置 # <file system> <mount pt> ...
- Java实现的各种排序算法(包括冒泡,快排等)
//堆排序 不稳定 import java.util.Arrays; public class HeapSort { public static void main(String[] args) { ...
- Ubuntu下,dpkg安装出错的修复
参考 http://www.khattam.info/2009/08/04/solved-subprocess-pre-removal-script-returned-error-exit-statu ...