如何以跨平台方式以彩色打印到控制台?

Mik*_*ike 29 linux macos console colors

如何在Mac OS X和Linux上使用"printf"输出彩色文本?

Car*_*rum 32

您可以使用ANSI颜色代码.这是一个示例程序:

#include <stdio.h>

int main(int argc, char *argv[])
{
  printf("%c[1;31mHello, world!\n", 27); // red
  printf("%c[1;32mHello, world!\n", 27); // green
  printf("%c[1;33mHello, world!\n", 27); // yellow
  printf("%c[1;34mHello, world!\n", 27); // blue
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

27escape字符.\e如果您愿意,可以使用.

网上列出了所有代码. 这是一个.


lug*_*098 5

另一个选择是:

#首先定义一些颜色(可以将其放入.bashrc文件中):
红色='\ e [0; 31m'
RED ='\ e [1; 31m'
blue ='\ e [0; 34m'
BLUE ='\ e [1; 34m'
cyan ='\ e [0; 36m'
CYAN ='\ e [1; 36m'
绿色='\ e [0; 32m'
GREEN ='\ e [1; 32m'
黄色='\ e [0; 33m'
YELLOW ='\ e [1; 33m'
NC ='\ e [0m'
#################

然后,您可以在终端中输入:

echo -e“ $ {RED}这是一个错误$ {NC}”
echo -e“ $ {YELLOW}这是警告$ {NC}”
echo -e“ $ {GREEN}一切正常!$ {NC}”

不要忘记最后的$ {NC}。NC代表“无颜色”,这意味着在您的句子之后,它将恢复为正常颜色。如果您忘记了它,则随后的整个提示和命令将使用您指定的颜色(当然,您可以键入'echo -e“ $ {NS}”'将其改回)。