我在Fortran中有一个程序将结果保存到文件中.目前我使用打开文件
OPEN (1, FILE = 'Output.TXT')
Run Code Online (Sandbox Code Playgroud)
不过,我现在想运行一个循环,每次迭代的结果保存到文件'Output1.TXT'
,'Output2.TXT'
,'Output3.TXT'
,等等.
在Fortran中有一种简单的方法可以从循环计数器构造文件名i
吗?
我想打开10,000个文件名从abc25000
until 开始的文件abc35000
,并将一些信息复制到每个文件中.我写的代码如下:
PROGRAM puppy
IMPLICIT NONE
integer :: i
CHARACTER(len=3) :: n1
CHARACTER(len=5) :: cnum
CHARACTER(len=8) :: n2
loop1: do i = 25000 ,35000 !in one frame
n1='abc'
write(cnum,'(i5)') i
n2=n1//cnum
print*, n2
open(unit=i ,file=n2)
enddo loop1
Run Code Online (Sandbox Code Playgroud)
结束
这段代码应该从abc24000
直到开始生成文件,abc35000
但它停止大约一半的说法
在test test-openFile.f90的第17行(unit = 26021,file ='')
Fortran运行时错误:打开的文件太多
我需要做些什么来修复上面的代码?