【发布时间】:2015-02-02 17:32:51
【问题描述】:
我的编译器是Turbo C++ v3.0 with DOS v5.0 emulated in DOSBox v0.74
我使用它是因为 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 打印到屏幕上的文字不是绿色的,我的项目由大量的cin 和cout 以及一些读写文件组成。
我想要的结果(虽然我还没有尝试过)很可能通过将我所有的cout << "..."; 替换为cprintf("..."); 来获得
但是我已经写了很多 cout 语句,以至于很难编辑那么多代码。
cprintf 对我来说是一个新领域,我对如何
cprintf("\t"); 输出为o
所以,我不热衷于使用它。我不希望使用它,除非它是我唯一的选择。
库 cstdlib.h 和 windows.h 在 Turbo C++ 中不可用,因此我也无法使用它们的实用程序来获得我想要的东西。
最后,我想要的只是输出提示以亮绿色显示我couted 的文本。对我的代码进行最小的更改会很好。
我什至不介意必须更改我的模拟器或编译器或 shell 的某些设置来做到这一点。
非常感谢所有帮助。提前谢谢你=)
【问题讨论】:
-
仅供参考,这门课程很可能弊大于利。
-
@chris:我知道,并且我保证在我完成学业的那一刻重新学习 C++。但就目前而言,我被困在使用比我更老的编译器并且编写的代码甚至连 cryptkeeper 都认为已经过时了。
-
几十年来我都没有使用过 Turbo C++,但我记得它被广泛认为是“最好的”。我想知道他们的 iostreams 实现中是否有一种工具可以让人们执行类似 cout.color(0x0020ff) 之类的操作。类似于我们设置填充字符的方法: cout.fill('#');或字段宽度:cout.width(4);
-
换个思路,你能在DOSBox中设置前景色吗?
-
@BradS。我进行了很多搜索,但我对这种 cout 方法没有任何线索。此外,我无法编辑 dosbox 实例的任何设置,因为我已将 turboc++ 和 dosbox 作为一个包下载。我在问题中添加了指向它的链接。
标签: c++ colors dos turbo-c++ dosbox