如何在c。中调整Linux应用程序中xterm的字体颜色

时间:2014-11-26 19:07:43

标签: c linux xterm textcolor adjustment

我有一个基于intel的嵌入式目标系统,Linux正在运行。

我看到了内核命令'屏幕输出的字体颜色(在telnet-console中)会自动调整。例如,如果xterm控制台背景为浅色,则文本为黑色,而对于黑色背景控制台,文本为白色。

我在c中上传了我的应用程序并在Linux提示符下运行。字体颜色固定为黑色,因此我无法在黑色背景xterm上看到任何printf消息。

有人能告诉我如何动态调整c程序吗?

1 个答案:

答案 0 :(得分:0)

检查此网站的颜色代码: http://misc.flogisoft.com/bash/tip_colors_and_formatting

以下是一个如何使用它的示例。

#include <stdio.h>

int foreground[] = {
  39, 30, 31, 32, 33, 34,
  35, 36, 37, 90, 91, 92,
  93, 94, 95, 96, 97
};

int background[] = {
  49, 40, 41, 42, 43, 44,
  45, 46, 47, 100, 101, 102,
  103, 104, 105, 106, 107
};

int main() {
  int flen = sizeof(foreground)/sizeof(int);
  int blen = sizeof(background)/sizeof(int);

  char fcolor[10];
  char bcolor[10];

  char dfbcolor[] = "\e[39m\e[49m"; // default foreground and background color

  for (int i = 0; i < flen; i++) {
    for (int j = 0; j < flen; j++) {
      sprintf(fcolor, "\e[%dm", foreground[i]);
      sprintf(bcolor, "\e[%dm", background[j]);
      printf("%s%shello, world%s\n", fcolor, bcolor, dfbcolor);
    }
  }

  return 0;
}

int数组foregroundbackground是前景和背景的颜色代码,我在网站上找到了这些代码。

玩得开心:)