1
我找不到任何將ncurses表單庫中的光標顏色從綠色更改爲其他任何方法的方法。使用谷歌搜索和搜索手冊頁上的光標或顏色沒有幫助。任何人都知道這是如何完成的?如何更改ncurses表單中的光標顏色?
我找不到任何將ncurses表單庫中的光標顏色從綠色更改爲其他任何方法的方法。使用谷歌搜索和搜索手冊頁上的光標或顏色沒有幫助。任何人都知道這是如何完成的?如何更改ncurses表單中的光標顏色?
您可以通過編寫\e]12;COLOR\a
或\033]12;COLOR\007
改變顏色,它們都是一樣的,在這裏一個簡單的例子:
#include <stdio.h>
#include <unistd.h>
void cursor_set_color_string(const char *color) {
printf("\e]12;%s\a", color);
fflush(stdout);
}
int main(int argc, char **argv) {
cursor_set_color_string("yellow"); sleep(1);
cursor_set_color_string("gray"); sleep(1);
cursor_set_color_string("blue"); sleep(1);
cursor_set_color_string("red"); sleep(1);
cursor_set_color_string("brown"); sleep(1);
return 0;
}
這裏是顏色名稱的列表:Xterm Colors。
看起來你也可以使用RGB顏色形式\e]12;#XXXXXX\a
:
#include <stdio.h>
#include <unistd.h>
void cursor_set_color_rgb(unsigned char red,
unsigned char green,
unsigned char blue) {
printf("\e]12;#%.2x%.2x%.2x\a", red, green, blue);
fflush(stdout);
}
int main(int argc, char **argv) {
cursor_set_color_rgb(0xff, 0xff, 0xff); sleep(1);
cursor_set_color_rgb(0xff, 0xff, 0x00); sleep(1);
cursor_set_color_rgb(0xff, 0x00, 0xff); sleep(1);
cursor_set_color_rgb(0x00, 0xff, 0xff); sleep(1);
return 0;
}
它看起來像沒有的功能來控制光標的顏色,你可以使用'的printf(「\ E] 12;藍色\ a「);'做這個工作嗎? – 2013-08-25 05:16:06
完全沒有!把它放在一個答案(如果你不介意的話,有一些解釋),我會接受它。 –