Fortran Coder

标题: 在一个文件夹中再建立5个文件夹,并在这5个文件夹中放入... [打印本页]

作者: 978142355    时间: 2016-11-22 20:13
标题: 在一个文件夹中再建立5个文件夹,并在这5个文件夹中放入...
如题。想在某个目录下创建名称叫“0.05”的文件夹,并在此文件夹下再创建5个文件夹,在这5个文件夹中分别写入5个叫data的文件。代码如下:
[Fortran] 纯文本查看 复制代码
    program example
    use ifport
    implicit none
    integer i
    character(len=56) temp,name
    integer istatus1,istatus2,istatus3,istatus4,istatus5
    name='0.05'
    istatus1=system("Md "//trim(name)) !建立文件夹
   
    do i=1,5
        write(temp,*) i
        istatus2=CHDIR(trim(name)) !定位到上述建立的文件夹的路径
        istatus3=system("Md "//trim(temp)) !在此路径上再建一层文件夹
        istatus4=CHDIR(trim(temp)) !定位到新一层的文件夹
        open(11,file='data')
        write(11,*) i
        
        istatus5=CHDIR("..")
        close(11)
    end do
    read(*,*)
    end program example

然而运行后,却变成了图1所示的问题,即名称叫“0.05”的文件夹下的5个文件夹建成了,但是data文件没有分别放在这5个文件夹中。请教各位,该如何修改?谢谢大家。

2016-11-22_201248.png (75.29 KB, 下载次数: 254)

图1

图1

作者: fcode    时间: 2016-11-22 20:26
见下代码的 !// 注释

[Fortran] 纯文本查看 复制代码
program example
use ifport
implicit none
integer i
character(len=56) temp,name
integer istatus1,istatus2,istatus3,istatus4,istatus5
name='0.05'
istatus1=system("Md "//trim(name)) !建立文件夹
istatus2=CHDIR(trim(name)) !//放到循环外面
do i=1,5
    write(temp,*) i
    temp=adjustl(temp) !//左对齐
    istatus3=system("Md "//trim(temp)) !在此路径上再建一层文件夹
    istatus4=CHDIR(trim(temp)) !定位到新一层的文件夹
    open(11,file='data')
    write(11,*) i
    istatus5=CHDIR("..")
    close(11)
end do
read(*,*)
end program example

作者: 978142355    时间: 2016-11-22 20:53
fcode 发表于 2016-11-22 20:26
见下代码的 !// 注释

[mw_shl_code=fortran,true]program example

拜谢老大,谢谢老大,谢谢QQ群,也谢谢论坛。总能在这里寻求到好的答案,倍感温暖。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2