Turbo C ++中的彩色输出

时间:2014-12-04 17:57:45

标签: c++ colors dos turbo-c++ dosbox

我的编译器是Turbo C++ v3.0 with DOS v5.0 emulated in DOSBox v0.74
我用这个是因为Turbo C ++是用来编译的 我的高中选择了教C ++编程语言。 有人强调我在编写最终项目时会使用这个编译器。

我正在使用英特尔酷睿i5-3317U CPU @ 1.70GHz运行Windows 8.1(64位)

为了活泼和向流行文化致敬, 我希望输出屏幕显示绿色文字。

以下似乎有效:

#include<iostream.h>
#include<conio.h>
void main(){
 clrscr();
 textcolor(2); // text set to green colour (conio.h function)
 cprintf("\n\t Hello World"); // cprintf from conio.h
 cout << "\n\t Hello World"; // cout from iostream.h
 getch();
}

其输出如下 (屏幕已被修剪以节省此帖子的空间)

hello world

根据Turbo C ++的帮助部分,

  

cprintf()将格式化的输出发送到屏幕上的文本窗口。

正如您所看到的,cout打印到屏幕上的文字不是绿色,我的项目由很多cincout以及一些写入和读取文件组成。

我希望的结果(虽然我还没有尝试过)很可能是通过用cout << "...";替换所有cprintf("...");来获得的 但是我写了很多cout语句,很难编辑那么多代码。

cprintf对我来说是一个新的领域,我对此感到吃惊 cprintf("\t");被视为o

所以,我不想热衷于使用它。除非是我唯一的选择,否则我不希望使用它。

cstdlib.hwindows.h在Turbo C ++中不可用,因此我无法使用他们的工具来获得我想要的东西。

最后,我想要的是输出提示,以明亮的绿色显示我cout的文字。对我的代码进行最小的更改会很好。 我甚至不介意更改我的模拟器或编译器或shell的某些设置来执行此操作。

非常感谢所有帮助。提前谢谢=)

3 个答案:

答案 0 :(得分:3)

啊,在20世纪90年代,他们希望他们的QEMM回来了:)

我能想到的一个解决方案是将它放在你的CONFIG.SYS中:

DEVICE=C:\DOS\ANSI.SYS

然后输出ANSI escape sequences

答案 1 :(得分:1)

您可以将constream库用于彩色文本输出:

#include <constrea.h>
int main()
{
    constream cout;
    cout << setclr(2);
    cout << "\n\t Hello, World!" << endl;
    getch();
    return 0;
}

我不知道如何处理标签字符。

答案 2 :(得分:0)

你只需要添加clrscr(); textcolor()之后的函数;它适用于couts