有没有办法在里面使用 ANSI 转义码mvwprintw?
mvwprintw(window, 0, 0,"%c[%dmCOLORED_TEXT!\n", 0x1B, 32);//doesn't work
Run Code Online (Sandbox Code Playgroud)
虽然:
printf("%c[%dmCOLORED_TEXT\n", 0x1B, 32); //works
Run Code Online (Sandbox Code Playgroud)
这适用于使用wattron/wattroff不方便的情况;例如,当从输出此类转义码的进程的 stdout 重定向输出时。
我的程序从网络读取一些文本数据,例如:
Hello \033[1;34mworld\033[0m and bla bla bla!!!\n"。当程序使用prinf输出该字符串时,“world”一词是蓝色的。但是当我将 ncurses 接口与 wprintw 或 addch 一起使用时,我看到带有转义序列的原始字符串。这是否意味着 printf 是否处理转义序列?使用 ncurses 处理转义序列的最佳方法是什么?