如何获得 Fortran 中的终端宽度?
How can I get the terminal width in Fortran?
除了调用 tput cols
之外,是否有任何可能在 Fortran (90) 中获取终端线宽,如果可能的话,它是跨平台的?
我只用gfortran,所以用这个编译器就够了。
Terminal/console 功能始终是系统依赖的功能。这意味着,获取终端宽度对于 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
它存储指定window的大小。
除了调用 tput cols
之外,是否有任何可能在 Fortran (90) 中获取终端线宽,如果可能的话,它是跨平台的?
我只用gfortran,所以用这个编译器就够了。
Terminal/console 功能始终是系统依赖的功能。这意味着,获取终端宽度对于 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
它存储指定window的大小。