技术标签: c/c++
一:
在调试程序时,有时候要输出大量数据,如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
\033[显示方式;前景色;背景色m
显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)
\033[0m 默认
\033[1;32;40m 绿色
033[1;31;40m 红色
printf( "\033[1;31;40m 输出红色字符 \033[0m" )
二:
如果是在windows平台下,这里面只需要用到Windows API的一个函数:SetConsoleTextAttribute
同样可以达到相同的目的
msdn上的说明如下:
BOOL SetConsoleTextAttribute( HANDLE hConsoleOutput, // handle to screen buffer WORD wAttributes // text and background colors );
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
To determine the current color attributes of a screen buffer, call the GetConsoleScreenBufferInfo function.
我们的使用如下:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
BOOL SetConsolColor(DWORD stdHandle, DWORD wAttributes=0x07UL)
{
HANDLE handle = GetStdHandle(stdHandle);
if(NULL == handle) {
return;
}
return SetConsoleTextAttribute(handle, wAttributes);
}
int _tmain(int argc, _TCHAR* argv[])
{
SetConsolColor(STD_OUTPUT_HANDLE, FOREGROUND_RED|BACKGROUND_GREEN);
printf("输出:绿底红字\n");
//SetConsolColor(STD_OUTPUT_HANDLE, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
SetConsolColor(STD_OUTPUT_HANDLE);
printf("默认:黑底白字\n");
return 0;
}
输出效果:
描述:win10系统excel2019计算两个日期相差具体天数时分秒方法步骤:原数据计算两个日期相差时间选择结果,右键设置单元格格式选择数字->自定义->类型输入d h:mm:ss->确定计算结果即为两个日期相差时间...
[[email protected] ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-l...
前言在《论文创新的常见思路总结》(点击标题阅读)一文中,提到过一些新的数据集或者新方向比较容易出论文。因此纠结于选择课题方向的读者可以考虑以下几个新方向。文末附相关论文获取方式。本文来自公众号CV技术指南的技术总结系列关注公众号CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。一些新发布的数据集可以提供一个窗口,通过这些数据集可以了解试图解决的问题的复杂程度。公共领域中新发布的数据集可以很好地代表理解计算机视觉的发展以及有待解决的问题的新途径。本文简要总结.
一、准备工具:Apache2.4,JDK1.7,Tomcat7(最少两个)二、Apache安装好后配置1.首先打开一些必要的Module注释(把前面的#号去掉就行),在conf/httpd这个文件中LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoa...
需要在数据库连接参数加上allowMultiQueries=true
一个超级简单的方法,直接使用第三方接口即可。一个快速的解决方法:如果项目需求只要求预览内容而不要求对文档进行编辑的操作,则可以选择在线预览的方式进行处理;现附上两个在线预览office文档的地址:(浏览器都需要chrome的内核)1、 https://docs.google.com/viewer?url=(输入你的文档在服务器中的地址)2、 https://view.offi...
数据处理Tedu Python 教学部Author:吕泽文章目录数据处理数据处理1. 文件处理1.1 引入1.2 文件读写操作1.2.1 打开文件1.2.2 读取文件1.2.3 写入文件1.2.4 关闭文件1.2.5 with操作1.2.6 缓冲区1.2.7 文件偏移量1.3 os模块2. 正则表达式2.1 概述2.2 元字符使用2.3 匹配规则2.3.1 特殊字符匹配2.3.2 贪婪模式和非贪婪模式2.3.3 正则表达式分组2.3.4 正则表达式匹配原则2.4 Python r
1. Android 9.0 之前的亮度控制接口import android.os.IPowerManager;import android.provider.Settings;import android.content.Context; /** * Used by the settings application and brightness control wid...
【译者:这个系列教程是以Kitware公司出版的《VTK User’s Guide -11th edition》一书作的中文翻译(出版时间2010年,ISBN: 978-1-930934-23-8),因为时间关系,我们不能保证每周都能更新本书内容,但尽量做到一周更新一篇到两篇内容。敬请期待^_^。欢迎转载。另请转载时注明本文出处。谢谢合作!同一时候,因为译者水平有限,出错之处在所难...
【树莓派4B深度学习 yolo】Chap.1 给树莓派配置yolo模型(darknet-nnpack)【深度学习 招式篇】在树莓派4B上使用YOLOhttps://yanwei-liu.medium.com/raspberry-pi%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E4%BA%8C%E5%8D%81%E4%B8%83-%E5%9C%A8pi%E4%B8%8A%E5%9F%B7%E8%A1%8Cyolov3-9cf124d5d582任剑杰一、运行方式:A
call在Python中,函数其实是一个对象:f = absf.name‘abs’f(-123)123由于 f 可以被调用,所以,f 被称为可调用对象。所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。我们把 Person 类变成一个可调用对象:class Person(object):def in...