1

我的编译器是Turbo C++ v3.0,在 DOSBox v0.74 中模拟了 DOS v5.0
我使用它是因为 Turbo C++ 是我的高中选择用来教授 C++ 编程语言的编译器。有人强调我在编写我的期末项目时使用这个编译器。

我正在使用 Intel Core 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();
}

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

你好世界

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

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

如您所见,打印到屏幕上的文本cout不是绿色的,我的项目由很多cincout一些读写文件组成。

我想要的结果(尽管我还没有尝试过)很可能通过替换所有 my 来获得cout << "...";cprintf("..."); 但我已经编写了太多 cout 语句,以至于很难编辑那么多代码。

cprintf对我来说是新的领域,我对如何输出感到有点 cprintf("\t");吃惊o

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

这些库在 Turbo C++cstdlib.hwindows.h不可用,因此我也无法使用它们的实用程序来获得我想要的东西。

cout最后,我想要的只是输出提示,以亮绿色显示我编辑的文本。对我的代码进行最小的更改会很好。我什至不介意必须更改我的模拟器或编译器或 shell 的某些设置来做到这一点。

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

4

3 回答 3

3

啊,1990 年代打来电话,他们想要他们的 QEMM 回来 :)

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

DEVICE=C:\DOS\ANSI.SYS

然后输出ANSI 转义序列

于 2014-12-04T18:14:11.347 回答
1

您可以使用 constream 库进行彩色文本输出:

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

我不知道如何处理制表符。

于 2015-09-12T04:30:14.183 回答
0

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

于 2017-02-05T05:45:56.057 回答