我想使用Fortran程序读一个某类型的文件里的数据,并生成相同文件名的另一个类型的文件,求源代码!!!
比如是一个记事本的文档,我需要从中提取部分数据并保存成txt文档,应该很简单,只不过我是新手,有点麻烦,求指点。...
比如是一个记事本的文档,我需要从中提取部分数据并保存成txt文档,应该很简单,只不过我是新手,有点麻烦,求指点。
展开
1个回答
展开全部
Open( 12 , File = 旧文件 )
Open( 13 , File = 新文件 )
Read( 12 , * ) 你需要读取的数据
Write( 13 , * ) 你需要写出的数据
Close( 12 )
Close( 13 )
这是大概的思路,非常简单。
具体的实现细节,要看你的原始数据是什么样子,你需要哪些数据,不需要哪些数据,想写成什么样子?
Open( 13 , File = 新文件 )
Read( 12 , * ) 你需要读取的数据
Write( 13 , * ) 你需要写出的数据
Close( 12 )
Close( 13 )
这是大概的思路,非常简单。
具体的实现细节,要看你的原始数据是什么样子,你需要哪些数据,不需要哪些数据,想写成什么样子?
追问
谢谢前辈指点,麻烦再帮我看一下我编的程序。不知道怎么修改啊。
a[i,j]=1 2 3 4 5 6 7 8 9 10
program main
integer::a[i,j]
open(11,FILE='D:\zhao2',STATUS='old')
open(12,FILE='D:\zhao3.txt',STATUS='new')
read(11,*)
DO j=0 if(a[i,j]/=0) write(12,FILE='D:\zhao3.txt')
close(12)
close(13)
end
追答
这错误太多了,我建议你先认真的看看教科书吧。
1.数组定义不是中括号,那是 C 的写法,Fortran都是小括号。
2.write 语句里,不需要 File = 'D:\zhao3.txt'
3.read(11,*) 后面如果什么变量都不跟。那么代表跳过一行。(你是这样想的么?)
4.数组申明时,必须指定大小。不能是 i,j 代替。因为 i 和 j 也没定义呢。
5. Do 要写上对应的 End Do,就好像 C 语言的 for(){} 最后的大括号一样。否则Do到哪儿为止呢?
program main
integer::a(固定的列数,固定的行数)
open(11,FILE='D:\zhao2',STATUS='old')
open(12,FILE='D:\zhao3.txt',STATUS='new')
read(11,*) a
Do i= 1 , 行数
Do j = 1 , 列数
if ( a(j,i)/=0 ) write( 12 , * ) a(j,i)
End Do
End Do
close(12)
close(13)
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询