标签: c cygwin
我在C中有一些代码可以打印出不同颜色的文本行。
使用转义字符(例如here)在 Linux 上工作。 它使用SetConsoleTextAttribute
但我的问题是在使用Cygwin时 逃脱角色不会在Cygwin上工作 对GetConsoleScreenBufferInfo的调用总是失败,而 getLastErrorText()给了我这样的信息:
功能不正确。 (为0x1)。
所以我的问题是:如何从Cygwin终端中运行的C程序中打印彩色文本? 我需要安装特殊库吗?
答案 0 :(得分:1)
感谢SzG和M Oehm的评论。
正如你所说,M Oehm,Linux的例子正在发挥作用。
我在代码中发现了问题。我使用Windows的颜色值而不是Linux的颜色值。
例如:
_ftprintf(target, TEXT("%c[%d;%dm%s%c[K\n"), 0x1B, foreground, background, printBuffer, 0x1B);
前景和背景的值不正确。
现在它正在运作。