fortran内调用系统命令/其它可执行文件时,有两种方法:

  • 在fortran 2008中新增内部subroutine程序: execute_command_line
  • 使用subroutine system 或者 function system(不同系统不一样? ),对intel fortran 中可使用 systemqq

推荐使用execute_command_line,使用时,注意在命令前后加上双引号

!execute_command_line subroutine in Fortran 2008 and later runs a system command
 
program SystemTest
integer :: i
 call execute_command_line ("ls", exitstat=i)
end program SystemTest 

!The SYSTEM subroutine (and function) are a GNU extension.

program SystemTest
  call system("ls")
end program SystemTest
  • 需要输出/输出文件时,可以使用重定向:
call system('aa.exe < bb.txt')
call system('aa.exe > bb.txt')
  • 其它调用形式:
call system("start /wait name.exe")