我有一个基于intel的嵌入式目标系统,Linux正在运行。
我看到了内核命令'屏幕输出的字体颜色(在telnet-console中)会自动调整。例如,如果xterm控制台背景为浅色,则文本为黑色,而对于黑色背景控制台,文本为白色。
我在c中上传了我的应用程序并在Linux提示符下运行。字体颜色固定为黑色,因此我无法在黑色背景xterm上看到任何printf消息。
有人能告诉我如何动态调整c程序吗?
答案 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
数组foreground
和background
是前景和背景的颜色代码,我在网站上找到了这些代码。
玩得开心:)