c - C函数打印带格式的彩色文本
问题描述
这个问题帮助我用不同的颜色打印。
我正在尝试创建一个始终char*
以蓝色打印给定的函数。我到目前为止:
#define KBLU "\x1B[34m"
#define KWHT "\x1B[37m"
void infoPrint(char* msg, ...)
{
printf("%s", KBLU);
printf(msg);
printf("%s", KWHT);
}
当我调用函数时:
int value = 42;
infoPrint("Show value: %d.\n", value);
我得到以下蓝色输出:
Show value: 0.
由于任何原因,该值42
未正确传递。
如果我将功能更改void infoPrint(char* msg, ...)
为:
void infoPrint(char* msg, ...)
{
printf(msg);
}
我正在获取输出(显然是标准终端颜色):
Show value: 42.
值 42 会发生什么变化?如果我在打印实际消息之前尝试以蓝色打印,为什么它是 0?
谢谢
解决方案
推荐阅读
- java - 文件中的 MIME 类型
- vue.js - Teamcity 上的 Jest 单元测试
- c# - 如何捕获和处理 Task.Factory 内部发生的未处理异常
- swift - 如何修复 iOS 应用程序中的内存泄漏?
- swiftui - Swiftui 隐藏披露箭头
- mongodb - mongoDB updateMany 基于嵌套数组条件
- python - 错误:设置迭代失败:未识别的错误,请检查门户/计算中的日志
- .net - 将文件上传到与 IIS 托管的 ASP.NET 应用程序不同的计算机中的共享文件夹会出现错误,因为对路径“...”的访问被拒绝
- vuejs2 - Vuetify / vuejs 链接在项目列表中不起作用
- scala - 为 Scala 类创建一个空构造函数