微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Linux中着色的控制台输出

我刚开始学习编程,第一个问题是select在哪个平台上学习,我select了Ubuntu。 我find了一个GCC编译器来编译我的项目,对我来说工作得很好。 我正在通过terminal运行我编译的项目。 但是当我想要写一个必须在丰富多彩的背景下显示文本的程序时,我明白terminal不能帮助我。 其实我正在学习从Windows上编程的课程,他们在那里使用Borland C ++ 5.2,但这些课程是在2007年编写的

所以我想知道,我应该在Ubuntu 10.10中运行我的编译程序,正确地查看结果? 其实我试图转移到Windows,但在我的电脑上的Ubuntu工作速度更快,我认为在Ubuntu而不是Windows工作更容易。

在WIndows中捕获PC的全屏幕8.1

为什么在VS 2015中创build的认Windows 8通用应用程序有一个黑暗的背景

有没有办法知道哪个硬盘MsstorageDriver_ATAPISmartData返回结果?

为什么一个线程互斥体被认为比一个futex“慢”呢?

如何写一个完整的string到一个文件

在没有任何工具包的情况下打印彩色信息最简单的方法是使用VT100转义命令: http : //www.termsys.demon.co.uk/vtansi.htm#colors

所以你可以写这样的东西:

printf("x1b[31mThis is red textx1b[0mn"); printf("x1b[32mThis is green textx1b[0mn");

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

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

ncurses库正是你正在寻找。 使用这个库,你可以选择用任何文本/背景颜色在屏幕上的任何地方写任何文本。

你可以在维基百科上阅读更多。 你可以在Ubuntu下安装它:

$ sudo apt-get install libncurses5-dev

如果你想从Linux的GUI编程开始,你可能需要研究一个GUI工具包 ,它是一个用于编写GUI元素,小部件等的库。

其中一个工具包是Gtk,你可以通过Gtk教程开始学习。 另一个选择是Qt ,它可能更容易使用,但是基于C ++。

恐怕Borland C ++ Windows课程对于Linux GUI编程来说几乎是不可用的。

或者,如果你只是想要一个彩色的终端文本,看看这个问题: stdlib和C中的彩色输出

强烈推荐Linux上的vim + cscope +标签

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐