2014-06-30 47 views
1

我有一个循环,每次我在主目录中写入一个文件,其名称随循环变量而变化。例如。 for the loop在每个循环中更改的不同文件夹中创建文件

do i=1,10 

我在文件test1.out, test2.out, ..., test10.out中创建和写入数据。

我现在想要做的是这样的:我想要有第二个循环(例如do j=1,5)并将上述文件存储在主目录中已存在的5个不同文件夹中。事实是,对于每个j,文件testi.out的内容都在变化,所以我想将它们收集到特定的文件夹中。

的我当前的代码的样品是:

do i=1,10 

    write(name, 14) 'test',iw,'.out' 

    open(unit=70, file=name) 

    write(70,*) 0.0 

enddo 

14 format (a10,i1,a4) 

当我写第二行如下:

write(name, 14) 'folder1/test',iw,'.out' 

然后它在folder1创建的文件。我想在其他loop (j=1,5)里面,所以每次在文件夹中创建文件folder1, folder2, ..., folder5

对此有何想法?

+0

我不明白是什么阻止你编写外环自己。在我看来,你已经设法弄清楚如何在'i'循环的每次迭代中写一个文件名的变体,什么阻止你为自己编写'j'循环? –

+0

问题是我想在j循环的每次迭代时在文件夹名称上添加一个额外的变体。 – Antigoni

+0

上面代码中的“结束”应该是“结束”。 – Fortranner

回答

1

线索(i=1,9):

write(name, 14) 'folder',j,'/test',i,'.out' 

注:检查format语句i=10。你需要不同的FORMAT魔法(i0)!

注2:在Windows上,\\可以代替

+1

不,OP不需要'trim'或'adjustl',OP需要'i0'编辑描述符。 –

+0

文件名(测试)之前的'/'创建一个错误。它说:“严重的<29>:文件未找到,单元70,文件... folder1 \ test1.out”。当我删除斜杠时,它将创建一个名称为'folder1 test1.out'的文件,并修正了FORMAT语句,正如您所提到的那样。 – Antigoni

+0

@HighPerformanceMark谢谢,这确实是更简单的方法。 “OP”是什么意思? – Peter

相关问题