Unix 如何在fortran程序中创建多个目录
我正在尝试设计一个fortran77程序,它在unix中创建17个目录,然后执行其他各种操作,但创建目录一直是最大的问题,所以这就是我目前要重点关注的问题 例如: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,但是当我尝试编译程序时,我得到一个错误,它说“无效的基数说明符”,重点是我列出的第二行代码 针对同一行代码也会产
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“我必须在以后从同一个代码中为所有目录指定输入文件。