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