为了账号安全,请及时绑定邮箱和手机立即绑定

C中的stdlib和彩色输出

C中的stdlib和彩色输出

C
梦里花落0921 2019-12-07 16:37:49
我正在制作一个需要彩色输出的简单应用程序。我如何使输出的颜色像emacs和bash一样?我不在乎Windows,因为我的应用程序仅适用于UNIX系统。
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

所有现代的终端仿真器都使用ANSI转义码来显示颜色和其他内容。

不用理会库,代码非常简单。


更多信息在这里。


在C中的示例:


#include <stdio.h>


#define ANSI_COLOR_RED     "\x1b[31m"

#define ANSI_COLOR_GREEN   "\x1b[32m"

#define ANSI_COLOR_YELLOW  "\x1b[33m"

#define ANSI_COLOR_BLUE    "\x1b[34m"

#define ANSI_COLOR_MAGENTA "\x1b[35m"

#define ANSI_COLOR_CYAN    "\x1b[36m"

#define ANSI_COLOR_RESET   "\x1b[0m"


int main (int argc, char const *argv[]) {


  printf(ANSI_COLOR_RED     "This text is RED!"     ANSI_COLOR_RESET "\n");

  printf(ANSI_COLOR_GREEN   "This text is GREEN!"   ANSI_COLOR_RESET "\n");

  printf(ANSI_COLOR_YELLOW  "This text is YELLOW!"  ANSI_COLOR_RESET "\n");

  printf(ANSI_COLOR_BLUE    "This text is BLUE!"    ANSI_COLOR_RESET "\n");

  printf(ANSI_COLOR_MAGENTA "This text is MAGENTA!" ANSI_COLOR_RESET "\n");

  printf(ANSI_COLOR_CYAN    "This text is CYAN!"    ANSI_COLOR_RESET "\n");


  return 0;

}


查看完整回答
反对 回复 2019-12-07
?
守候你守候我

TA贡献1802条经验 获得超10个赞

处理颜色序列可能会变得混乱,并且不同的系统可能会使用不同的颜色序列指示器。


我建议您尝试使用ncurses。除了颜色之外,ncurses还可以通过控制台UI进行许多其他整洁的事情。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 454 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信