在调用tput cols
旁边是否有可能获得Fortran(90)中的终端线宽,如果可能的话,它是跨平台的?
我只使用gfortran,所以只要它适用于这个编译器就足够了。
答案 0 :(得分:1)
终端/控制台功能始终是系统依赖功能。这意味着,对于Unix和Windows系统来说,获得终端宽度会有所不同。其中一个可以帮助你的库是ncurses,用C语言编写。这个库有一些Fortran接口,比如this使用Fortran 2003。
如果这个库符合您的要求,请查看定义的LINES和COLS中的整数变量,它们将填充屏幕大小。
在之前提到的Fortran接口中,有getmaxyx子例程:
subroutine getmaxyx(win,y,x) bind(C, name='macro_getmaxyx')
use iso_c_binding
use ncurses_types
type (C_PTR), value :: win
integer(C_INT) :: y,x
end subroutine
它存储指定窗口的大小。