爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3723|回复: 0

[源代码] ifor中创建文件夹

[复制链接]

新浪微博达人勋

发表于 2017-12-17 15:27:48 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 柿子柿子柿子 于 2017-12-17 15:29 编辑

由于欧洲中心不发粗网格数据了,MICAPS4的自动抽稀不太好用,于是自己写了个稀疏化EC细网格的程序。
其中,因ifor不能直接在待创建的文件夹下直接写文件,所以我和这东西斗智斗勇了几个小时。
在参考了网上已有的例子,结合实践的结果,得到了这么个子程序。
! 创建目录文件夹及路径
integer function Create_folder(path)
    use IFPORT   !- 调用系统命令模块
    implicit none
    character(*),intent(in)      :: path
    character(len=:),allocatable :: infile
    integer :: i, j
    logical :: flag, flag2

    ! 找出空格,然后转换成用双引号引用的空格
    do i = 1, len_trim(path)
        if ( ichar(path(i:i))/=32 ) then
            infile = infile // path(i:i)
        else
            infile = infile // '" "'
        end if
    end do

    ! 判断是否存在文件
    inquire(directory=path, exist=flag)
    if (.not.flag) then
        print*, '创建文件夹:'//infile
        flag2 = system('md '//infile)
        if (.not.flag2) then
            ! 创建成功
            Create_folder = 1
        else
            ! 创建失败
            Create_folder = -1
        end if
    else
        ! 原文件夹已存在
        Create_folder = 0
    end if
end function Create_folder


本来Create_folder的属性想写成logical的,但是我自己的程序里面需要这个不止两个分支,所以就改成了integer来返回指示码了

emmmmmm……
上次还上传了个附件,这次连附件都懒得上传了……
权当交流吧~~~

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表