3

我刚开始学习C编程。第一个问题是选择在哪个平台上学习,我选择了Ubuntu。我找到了一个 GCC 编译器来编译我的项目,它对我来说很好用。我正在通过终端运行我编译的项目。但是当我想编写一个必须在彩色背景上显示文本的程序时,我明白终端对我没有帮助。实际上我正在从为 Windows 编程编写的课程中学习,他们在那里使用 Borland C++ 5.2,但这些课程是在 2007 年编写的

所以我想知道,我应该在 Ubuntu 10.10 的哪里运行我的编译程序,才能正确查看结果?实际上我尝试转移到 Windows,但我计算机上的 Ubuntu 运行速度要快得多,而且我认为在 Ubuntu 中工作比在 Windows 中工作更容易。

4

3 回答 3

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 的库。

于 2012-07-26T20:48:41.470 回答
3

ncurses库完全符合您的要求。使用此库,您可以选择在屏幕上的任何位置使用任何文本/背景颜色编写任何文本。

您可以在Wikipedia上阅读更多信息。您可以使用以下命令在 ubuntu 下安装它:

$ sudo apt-get install libncurses5-dev
于 2012-07-26T15:53:46.777 回答
1

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

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

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

或者,如果您只是想要一个彩色终端文本,请查看以下问题:stdlib and coloured output in C

于 2012-07-26T15:43:37.487 回答