Fortran如何建立文件夹并在文件夹中写入文件?
我想在Fortran程序中实现以下几个步骤
(1)建立 [文件夹1], [文件夹2],[文件夹3]
(2)在 [文件夹1], [文件夹2],[文件夹3]中分别写入2000 个文件,这些文件的格式相同,只是存储的名称不同,比如fort.22到fort.2022
这样既便于存储,又可以防止文件混淆。
跪求大神指点!!!! 返回小木虫查看更多
今日热帖
出钱悬赏吧!重赏之下必有勇夫
看下书,很容易就解决了。。。。
program creat_doc
use ifport
implicit none
integer i,j,k
character( len=56 ) temp,name,temp1
integer istatus1,istatus2,istatus3,istatus4,istatus5
name='storage'
istatus1=system( "Md "//trim( name ) ) !建立文件夹
istatus2=CHDIR( trim( name ) ) !定位文件夹
k=0
do i=1,3 !//文件夹有多少个,可自行修改(这里的文件夹有3个)
write( temp,* ) i
temp=adjustl( temp ) !//左对齐,因为默认i是右对齐的
istatus3=system( "Md "//trim( temp ) ) !在此路径上再建一层文件夹
istatus4=CHDIR(trim(temp)) !//定位到新一层的文件夹
do j=1+k,10+k !fort文件有多少个(这里是1个文件夹里存10个,名称分别叫fort1,fort2……fort10)
write( temp1,* ) j
open( 11+j,file='fort'//adjustl ( trim ( temp1 ) ) ) !//写入你想要的文件名
close( 11+j )
end do
k=k+10
istatus5=CHDIR( ".." ) !//退出本层目录
end do
end program creat_doc
相关说明已经写在注释中了。我是在IVF+VS编译器上,windows7系统上运行是没问题的,不知道LZ是什么操作系统,用的是什么编译器?希望下次说明一下,
我用的visual studio。这段程序已经能用,只是还想问问
(1)system与CHDIR表示什么呢?
(2)建立文件夹默认的路径是在哪呢?
(3)"Md"表示什么?
(4)use ifort 木块包含哪些东西能不能详细介绍下,或者能够推荐一些参考资料
(5)write( temp,* ) i表示把i赋给temp吗?
(6)屏幕上输出了子目录或文件1已经存在,但是在屏幕上并没有体现,这是怎么回事?还请指点!
帮助文件
。
(1)system代表的是系统内部的命令,这里指的是windows系统在DOS下的命令,CHDIR就是其中的一个命令,比如cd,dir,md这些都是windows系统本身自带的命令,在Fortran中使用system目的就是为了调用这些命令。
(2)默认是在你程序所在的位置建立,如果你想改动路径可以人为添加。
(3)Md在程序注释中已经写了,就是代表建立文件夹的意思。
(4)use ifort是IVF+VS中特有的,目的就是为了调用system模块,相关的资料,你可以看看vs中自带的帮助。
(5)write(temp,*) i,是内部文件(internal file)的写法,具体可参考Fortran的相关书籍都有。你说的没错,就是把i赋值给temp,将i由整型变为字符型,要不然你想做fort1,for2……这些东西的时候,计算机如何知道后面的1,2,3?
(6)屏幕上就是告诉你文件夹已经存在了,其它是不会说的,你看一看你storage文件夹下,那几个东西有没有就行了。