Fortran如何创建多个顺序文件
1、首先申明变量:program mainimplicit nonecharacter(len=100):: fileDir,file绿覆冗猩Name,fileSeq,fileSuffix,myStrinteger*4:: fileNumer=28,i,j,counterLen = 3integer::reslogical::FEXIST其中各个变量分别是fileDir:文件目录fileName:文件名fileSeq:文件序号fileSuffix:文件后缀myStr:数字输出格式fileNumer:文件数量counterLen:文件序号的长度,比如0001.txt长度就是4(3个0和1个1)FEXIST:判断路径是否存在,如果不存在就创建
2、然后定义文件路径并查询是否存在,不存在就创建fileDir = '.\03014\'inquire(file = trim(fileDir),EXIST=FEXIST)if(.not.FEXIST) then call system('md '//trim(fileDir)) write(*,*) 'New folder created'endif
3、定义文件名、后缀和文件序号书写格式fileName = 'myFileName'fileSuffix = '.dat'write(myStr,'(I2)')counterLenmyStr = '(I'//trim(adjustl(myStr))//')'
4、循环创建文件do i = 1,fileNumer,1 write(fileSeq,myStr)i do j = 1,counterLen - len(trim(adjustl(fileSeq))) fileSeq = '0'//adjustl(trim(fileSeq)) enddo open(111,file = adjustl(trim(fileDir))//adjustl(trim(fileName))& &//adjustl(trim(fileSeq))//adjustl(trim(fileSuffix))) close(111)enddo
5、最后可以观察效果,创建了12个文件,总的程序:program mainimplicit nonecharacter(len租涫疼迟=100):: fileDir,fileName,fileSeq,fileSuffix,myStrinteger*4:: fileNumer=12,i,j,counterLen = 3!integer::reslogical::FEXISTfileDir = '.\03014\'inquire(file = trim(fileDir),EXIST=FEXIST)if(.not.FEXIST) then call system('md '//trim(fileDir)) write(*,*) 'New folder created'endiffileName = 'myFileName'fileSuffix = '.dat'write(myStr,'(I2)')counterLenmyStr = '(I'//trim(adjustl(myStr))//')'do i = 1,fileNumer,1 write(fileSeq,myStr)i do j = 1,counterLen - len(trim(adjustl(fileSeq))) fileSeq = '0'//adjustl(trim(fileSeq)) enddo open(111,file = adjustl(trim(fileDir))//adjustl(trim(fileName))& &//adjustl(trim(fileSeq))//adjustl(trim(fileSuffix))) close(111)enddoread(*,*)end