我想使用Fortran程序读一个某类型的文件里的数据,并生成相同文件名的另一个类型的文件,求源代码!!!

比如是一个记事本的文档,我需要从中提取部分数据并保存成txt文档,应该很简单,只不过我是新手,有点麻烦,求指点。... 比如是一个记事本的文档,我需要从中提取部分数据并保存成txt文档,应该很简单,只不过我是新手,有点麻烦,求指点。 展开
 我来答
天河流纹石
2013-03-22 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4047万
展开全部
Open( 12 , File = 旧文件 )

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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式