在Linux中使用有色彩的控制台输出

11 浏览
0 Comments

在Linux中使用有色彩的控制台输出

我刚开始学习C语言编程。

第一个问题是选择在哪个平台上进行学习,我选择了Ubuntu。

我找到了一个GCC编译器来编译我的项目,对我来说很好用。我通过终端运行我的编译后的项目。

但是当我想编写一个需要在彩色背景下显示文本的程序时,我意识到终端无法帮助我。实际上,我正在学习编程Windows的课程,那里使用的是Borland C++ 5.2,不过这些课程是在2007年写的。

所以我想知道,在Ubuntu 10.10中,我应该在哪里运行我编译好的程序才能正常地看到结果呢?实际上,我尝试切换到Windows,但我电脑上的Ubuntu运行得更快,而且我认为在Ubuntu上工作比在Windows上更容易。

admin 更改状态以发布 2023年5月24日
0
0 Comments

ncurses库正好满足您的需求。使用这个库,您可以选择在屏幕上任何地方写任何文本,并选择任何文本/背景颜色。

您可以在维基百科上了解更多信息。您可以在ubuntu下安装:

$ sudo apt-get install libncurses5-dev

0
0 Comments

输出彩色信息的最简单方法是使用VT100转义命令,而不需要使用任何工具集:
http://www.termsys.demon.co.uk/vtansi.htm#colors

所以你可以像下面这样编写代码:

printf("\x1b[31mThis is red text\x1b[0m\n");
printf("\x1b[32mThis is green text\x1b[0m\n");

但是,这段代码仅适用于VT100兼容的终端(几乎所有Unix系统的终端都能兼容)。最好的方法是在给你的输出上着色之前检查TERM环境变量。

免责声明:如果你想编写能够处理所有终端类型的代码,那么你应该使用类似于ncurses的库。

0