用Fortran编写的程序在运行的时候,一般是在显示器终端输出黑底白字或白底黑字(取决于终端设置)。如何让程序输出彩色文字呢?记得以前的Visual Fortran内置了这样的函数,但是不具备通用性。实际上,通过终端内置的转义符也可以定义文字格式。这种方法的优点是不依赖系统和编译器厂家,且无需外部库支持,前提是必须用ANSI兼容的终端(从Windows10开始,内置的终端支持ANSI;早先Windows的内置终端不支持ANSI,需要用其它终端运行)。
假设string1是足够长的字符串,定义文字格式的语句具有以下格式:
string1= char(27) // '[Cm' // 'T'
其中,char(27)是无法输入的转义符(也就是键盘左上角的ESCape键);C是一系列的格式控制符,见下表;若有多个格式控制符,用分号隔开;T是我们将要加入的文本内容。
当代码中存在多个定义格式的语句时,以上写法容易导致格式之间相互影响,因此建议用下面罗嗦一点的写法,其中C中要包含0控制符:
string1= char(27) // '[Cm' // 'T' //