在C中使用系统调用write()打印彩色字符串

在C中使用系统调用write()打印彩色字符串,c,colors,C,Colors,伙计们,我需要用C语言中的系统调用write()在标准输出上写一个彩色字符串,可以吗? 谢谢。正如其他人提到的,这取决于您的操作系统/外壳。使用ANSI颜色的简单解决方案是: char *str = "\e[32;40m Hello World"; // A green string on a black background write(fd, str, strlen(str)); 请注意,打印彩色字符串后必须重置终端颜色…通常情况下,这是可能的。。。但具体如何操作很大程度上取决于您的系统和

伙计们,我需要用C语言中的系统调用write()在标准输出上写一个彩色字符串,可以吗?
谢谢。

正如其他人提到的,这取决于您的操作系统/外壳。使用ANSI颜色的简单解决方案是:

char *str = "\e[32;40m Hello World"; // A green string on a black background
write(fd, str, strlen(str));

请注意,打印彩色字符串后必须重置终端颜色…

通常情况下,这是可能的。。。但具体如何操作很大程度上取决于您的系统和终端设置。@Siguza shell与此无关,解释颜色代码是由终端或终端仿真器完成的。在C中没有标准的方法。在Unix上,您可以使用
termcap
库查找控制序列以更改颜色。谢谢,这对我来说是可行的,在OS X上使用bash.cool,你想选择这个作为正确答案吗?