- 积分
 - 1965
 
	- 贡献
 -  
 
	- 精华
 
	- 在线时间
 -  小时
 
	- 注册时间
 - 2014-4-13
 
	- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
	
 
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
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…… 
上次还上传了个附件,这次连附件都懒得上传了…… 
权当交流吧~~~ 
 
 |   
 
 
 
 |