Unix 如何在fortran程序中创建多个目录

Unix 如何在fortran程序中创建多个目录,unix,fortran,fortran77,Unix,Fortran,Fortran77,我正在尝试设计一个fortran77程序,它在unix中创建17个目录,然后执行其他各种操作,但创建目录一直是最大的问题,所以这就是我目前要重点关注的问题 例如: do i=1,17 cmd="mkdir" ,i call system(cmd) call chdir("i") end do 从这部分代码中,我希望命令“mkdir”在unix中创建17个单独的目录,命名为1-17,但是当我尝试编译程序时,我得到一个错误,它说“无效的基数说明符”,重点是我列出的第二行代码 针对同一行代码也会产

我正在尝试设计一个fortran77程序,它在unix中创建17个目录,然后执行其他各种操作,但创建目录一直是最大的问题,所以这就是我目前要重点关注的问题

例如:

do i=1,17
cmd="mkdir" ,i
call system(cmd)

call chdir("i")
end do
从这部分代码中,我希望命令“mkdir”在unix中创建17个单独的目录,命名为1-17,但是当我尝试编译程序时,我得到一个错误,它说“无效的基数说明符”,重点是我列出的第二行代码

针对同一行代码也会产生另一个错误。(^)处的连接运算符必须对字符类型的两个子表达式进行操作,但(^)处的子表达式不是字符类型

有没有办法把整数转换成字符串


所有的帮助都将得到感谢。

< p>回答一个问题,你可以通过写一个整数将它转换成字符串。考虑示例代码:

program main
integer :: i
character(len=80) :: cmd

do i=1,4
   write(cmd,'(a,i0.2)') 'mkdir Directory_', i
   write(*,*) 'calling "', trim(cmd), '"'
   call system(cmd)
enddo

end program main
它给出了输出

mach5% pgfortran main.f90; ./a.out 
 calling "mkdir Directory_01"
 calling "mkdir Directory_02"
 calling "mkdir Directory_03"
 calling "mkdir Directory_04"
mach5% ls
total 860
-rwx------ 1 chaud106 806765 Jul  1 15:37 a.out*
drwx------ 2 chaud106   4096 Jul  1 15:37 Directory_01/
drwx------ 2 chaud106   4096 Jul  1 15:37 Directory_02/
drwx------ 2 chaud106   4096 Jul  1 15:37 Directory_03/
drwx------ 2 chaud106   4096 Jul  1 15:37 Directory_04/
-rw------- 1 chaud106    195 Jul  1 15:37 main.f90
我不想做“cmd=”mkdir 1 2 3 4 5…17“我必须在以后从同一个代码中为所有目录指定输入文件。