在fortran77中如何将一个.DAT文件读入一个二维数组

在fortran77程序中,如何将一个.DAT的文件存入一个二维数组中,我试了好多办法,都不可行,哪位朋友给指点一下,谢谢啦。一下是程序代码,由于不知道如何传入二进制文件... 在fortran77程序中,如何将一个.DAT的文件存入一个二维数组中,我试了好多办法,都不可行,哪位朋友给指点一下,谢谢啦。一下是程序代码,由于不知道如何传入二进制文件,所以这个问题有一点麻烦。要是能和高人QQ的话,不甚感激。

PROGRAM MAIN

PARAMETER (sz = 5.0) !depth of source
PARAMETER (dx = 25.0) !trace interval
PARAMETER (dep=32) !water depth
PARAMETER (vel=1500 ) !velocity
C daotou and reel information
PARAMETER (nt=3072,NUM=294) !numbers of shot !time sample number
PARAMETER ( nx=115) !every shot's trace numbers

C definite 1D array

DIMENSION SHOT(NX,NT)
real shot1(nt)

integer ntr_r(num) !different shot trace numbers

C prameter file information
CHARACTER*256 FN2,FN3

FN2='nx1.dat' !every shot's trace number
FN3='shot.dat' !open raw data

C find every shot min offset position
C CALL READ_NX(FN2,NUM,NTR_R) !READ ALL OFFSET
OPEN(19,FILE=FN2,FORM='FORMATTED',STATUS='OLD')
DO I=1,NUM
READ(19,*) NTR_R(I)
END DO
print*, 'TRACE= %d '
print*, NTR_R(1)

OPEN(20,FILE=FN3,FORM='UNFORMATTED',STATUS='OLD')
DO K=1,NX
READ(20)(SHOT1(j),J=1,NT)
DO J=1,NT
SHOT(K,J)=SHOT1(J)
END DO
ENDDO
print*, 'DATA= %d '
print*, SHOT(2500,25)

END PROGRAM MAIN
我的QQ:1559495489
展开
 我来答
天河流纹石
2014-04-16 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4048万
展开全部
  1. 你为什么要要求 Fortran77 呢?要知道,现在 F90 的编译器到处都是。

  2. 根据你的描述来看,dat 文件是二进制文件。(注意,dat并不是一个广泛使用的格式,它只是一个扩展名,它可能是各种格式)

  3. 关于二进制文件,你可参考 fcode.cn/guide-4-1.html

  4. 二进制文件的读写,不仅仅是代码问题,还需要你对二进制的格式有一定了解。

  5. 如果你还是有问题,请访问 bbs.fcode.cn 发帖,给出你的代码,和二进制文件(很重要)

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式