在Fortran的SYSTEM子例程中使用变量

时间:2013-07-15 05:24:43

标签: fortran system-calls

如何在system子程序调用中执行的命令中使用变量?例如,如果我要创建多个目录,例如test_1_1test_1_2等,直到test_3_3,那么我的代码应该是什么?

我正在尝试以下代码,但似乎无法弄清楚在####部分写什么。

integer  :: i,j

do i = 1,3
   do j = 1,3 
      CALL system('mkdir folder ####') 
   enddo
enddo

1 个答案:

答案 0 :(得分:6)

character (len=8) :: test_name

do i=1, 3
   do j=1, 3
      write (test_name, '( "test_", I1, "_", I1 )' ) i, j
      call system ( "mkdir " // test_name )
   end do
end do

只要数字是单个数字,我的示例中的格式就会起作用。如果您想要更大的值,可以使用I2.2(最多两位数,前导零,如果是单位数),或I0,无论需要多少位数。