this question帮我打印不同的颜色。
Iam尝试创建一个始终以蓝色打印给定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?
谢谢