fortran - Fortran 的彩色终端输出

标签 fortran fortran90

我的程序将计算状态输出到终端并包含相当多的信息。如果可能的话,我想对文本的部分进行颜色编码。

通过引用本站点上的线程,我已经看到了如何在 Bash 和 C++ 中完成它。但是,我无法在 Fortran(现代)中使用其中任何一个来实现相同的结果。例如,我尝试了这个示例代码,我认为它应该可以工作:

PROGRAM test
    PRINT*, 'A great color is \033[95m pink \033[0m.'
END PROGRAM test

我原以为输出是“粉红色的好颜色”,其中粉红色是粉红色。相反,我得到“一个很棒的颜色是\033[95m 粉红色\033[0m。”我不明白我错过了什么。

如果我将代码中的打印行替换为: CALL EXECUTE_COMMAND_LINE("echo 'A great color is\033[95m pink\033[0m.'") 那么我会根据需要得到输出。但是,我不想继续从我的代码中调用 echo。有什么办法可以获得彩色输出吗?

谢谢!

最佳答案

转义字符表示为 '\033' 似乎对您不起作用。我没有方便检查的 fortran,但您可以尝试通过调用 char 显式使用字符而不是 c 样式转义。转换函数,即通过调用 char(27) 生成实际字符并将其构建到您的输出字符串中的正确位置。

关于fortran - Fortran 的彩色终端输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402700/

相关文章:

file-io - 无论如何,在 Fortran 90 中是否有读取指定字节的数据

dll - Compaq Visual Fortran 6.6、动态链接库 (DLL) 和模块

Fortran OpenMP 注释的 Vim 语法高亮显示

function - 正确的 Fortran 函数语法

arrays - fortran90 或 gfortran 的约定 - 整数、实数、 double 和数组的声明

arrays - 以数组元素作为参数的子程序

module - makefile 模块在 fortran 90 中编译 gfortran

Fortran 无格式输出,每个 MPI 进程写入数组的一部分

fortran - Fortran 和多态派生数据类型中的重载函数

matlab - 将符号表达式从 Matlab 导出到 Fortran 时使用自由形式而不是固定形式