我开始编写终端文本编辑器,类似于第一个UNIX文本编辑器,例如vi。我唯一的目标是度过美好的时光,但我希望能够以彩色显示文本,因此可以突出显示语法以编辑源代码。我该如何实现?为此有一些特殊的POSIX API,还是我必须使用ncurses?(我宁愿不)有什么建议吗?也许一些关于UNIX API的教科书?
3 回答
萧十郎
TA贡献1815条经验 获得超12个赞
我觉得更优雅的不同解决方案
这是另一种方法。某些人会喜欢此代码,因为它的代码更简洁一些。没有%s和RESET颜色可以结束着色。
#include <stdio.h>
#define RED "\x1B[31m"
#define GRN "\x1B[32m"
#define YEL "\x1B[33m"
#define BLU "\x1B[34m"
#define MAG "\x1B[35m"
#define CYN "\x1B[36m"
#define WHT "\x1B[37m"
#define RESET "\x1B[0m"
int main() {
printf(RED "red\n" RESET);
printf(GRN "green\n" RESET);
printf(YEL "yellow\n" RESET);
printf(BLU "blue\n" RESET);
printf(MAG "magenta\n" RESET);
printf(CYN "cyan\n" RESET);
printf(WHT "white\n" RESET);
return 0;
}
该程序提供以下输出:
具有多种颜色的简单示例
这样,很容易执行以下操作:
printf("This is " RED "red" RESET " and this is " BLU "blue" RESET "\n");
该行产生以下输出:
- 3 回答
- 0 关注
- 506 浏览
添加回答
举报
0/150
提交
取消