我刚开始用C学习编程。 第一个问题是选择我应该在哪个平台上学习它,我选择了Ubuntu。 我找到了一个GCC编译器来编译我的项目,它对我来说很好。我通过终端运行我编译的项目。 但是当我想编写一个必须在彩色背景上显示文字的程序时,我明白终端并没有帮助我。实际上我正在学习在Windows上编写的课程,他们在那里使用Borland C ++ 5.2,但这些课程是在2007年写的
所以我想知道,我应该在Ubuntu 10.10中运行我编译的程序,以正确查看结果? 实际上我试图转移到Windows,但是我的计算机上的Ubuntu工作得更快,我认为在Ubuntu而不是Windows上工作更容易。
答案 0 :(得分:5)
在没有任何工具包的情况下打印彩色消息的最简单方法是使用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的库。
答案 1 :(得分:3)
ncurses库完全符合您的要求。使用此库,您可以选择使用任何文本/背景颜色在屏幕上的任何位置书写任何文本。
您可以在Wikipedia上阅读更多相关内容。您可以使用以下命令在ubuntu下安装它:
$ sudo apt-get install libncurses5-dev
答案 2 :(得分:1)
如果你想在Linux中开始GUI编程,你可能需要查看GUI toolkits之一,它是一个用来编写GUI元素,小部件等的库。
其中一个工具包是Gtk,您可以通过Gtk tutorial开始学习。另一个选项是Qt,它可能更容易使用,但它基于C ++。
我担心Borland C ++ Windows课程几乎无法用于Linux GUI编程。
或者,如果您只想要彩色终端文字,请查看以下问题:stdlib and colored output in C