ANSI颜色代码在C中随机乱搞我的输出

时间:2017-01-24 11:33:27

标签: c colors printf ansi

我正在使用ANSI代码在终端中为文本着色,除了循环外,它的效果很好,printf ramdomly显示ANSI代码本身:

#define RED "\x1B[31m"
#define BLU "\x1B[34m"
#define RST "\x1B[0m"
for
{
   printf(RED "red text\n" BLU "blue text" RST);
}

我随机得到:

red text // text displayed in red 
   [34m blue text // still in red 

或者:

red text //text displayed in red
blue text // text displayed in blue

我尝试在两个不同的printf中分隔颜色声明和文字,我尝试使用puts,但它没用。我不使用ncurse库,因为我认为它不适合这种情况。顺便说一句,我在MACOS 10.12上使用CLion,如果它可以提供帮助的话。我发现了一些像Charles Campbell's ANSI escape code这样的解决方案但不适用于C。

为什么ANSI代码搞乱了,我们怎么可能修复它?

0 个答案:

没有答案