fortran如何读入文本文件中的某行的指定部分
(2010-01-05 08:24:57)
标签:
杂谈 |
分类: 有限元 |
Q:
fortran如何读入文本文件中的某行的指定部分
例如这样一个文件:
1 2 3 4 5 u 1
2 3 6 5 x 55 2
2 3 6 9 5 4
如果只想读入其中第三列,也就是第三个空格(backspace)处的数字,如何实现呢? 谢谢!!!
A:
说明:我不知道你的文件里面的具体格式,所以只能用格式语句100来表示了,具体自己弄吧。我下面这个程序是把文件里面的所有数据都读取出来,然后用了一个do循环,将你要的第三列数据赋值给了b数组,不知道是不是你想要的。
[code]
implicit real*8 (a-h,o-z)
dimension a(3,7),b(3,1)
open (1,file='shuju.dat',form='formatted',status='unknown')
do i=1,3
end do
close (1)
do i=1,3
end do
end[/code]
你看这样行不行,下面这段程序也可以实现我上面编制的程序的功能的,呵呵。其实说白了,编制程序关键在于自己的想法以及尝试如何编制程序来实现。至于你说的第三个位置到第七个位置的数据,只要将格式行100中的format语句改变一下就可以实现了,不信你就试试。
[code]
implicit real*8 (a-h,o-z)
dimension a(3,5),b(3,2)
open (1,file='shuju.dat',form='formatted',status='unknown')
do i=1,3
end do
close (1)
end[/code]
Q
用二维数组定义啊,比如你的文件是3行2列,则定义成A(3,2)
读的时候就是
do 10 i=1,3
10 read(设备号,格式) (A(i,j),j=1,2)
输出就改成write就是了

加载中…