我有一个浮点数数组,想要将值写入文件。然后读回来。
我正在写文件如下
Do k = 1, nk
Do j = 1, nj
Write (u,*) (lec(i,j,k), i = 1, ni)
End Do
End Do
这时写下数字如下
ni = 5
,nj = 4
和nk = 2
。
1.1 1.2 1.3 1.4 1.5
2.1 2.2 2.3 2.4 2.5
3.1 3.2 3.3 3.4 3.5
4.1 4.2 4.3 4.4 4.5
1.1 1.2 1.3 1.4 1.5
2.1 2.2 2.3 2.4 2.5
3.1 3.2 3.3 3.4 3.5
4.1 4.2 4.3 4.4 4.5
我想以下列方式更改输出文件的格式
lec: 1.1 1.2 1.3 1.4 1.5
+ 2.1 2.2 2.3 2.4 2.5
+ 3.1 3.2 3.3 3.4 3.5
+ 4.1 4.2 4.3 4.4 4.5
+ 1.1 1.2 1.3 1.4 1.5
+ 2.1 2.2 2.3 2.4 2.5
+ 3.1 3.2 3.3 3.4 3.5
+ 4.1 4.2 4.3 4.4 4.5
如何修改代码以获得此输出形式?
我以同样的方式读取内容,但只有在文件中遇到密钥lec:
时才读取lec中的值。
答案 0 :(得分:1)
Do k = 1, nk
Do j = 1, nj
if(k.eq.1.and.j.eq.1)then
write(u,'(a)',advance='no')'lec:'
else
write(u,'(a)',advance='no')'+'
endif
Write (u,*) (lec(i,j,k), i = 1, ni)
End Do
End Do
或
Do k = 1, nk
Do j = 1, nj
if(k.eq.1.and.j.eq.1)then
write(u,'(a,99f4.1))'lec:',(lec(i,j,k), i = 1, ni)
else
write(u,'(a,99f4.1)')'+',(lec(i,j,k), i = 1, ni)
endif
End Do
End Do
如果您的编译器支持,99
可以是大于ni
或*
的任何数字。