1. 首页 > 经验  > 正文

无格式读

无格式读

在FORTRAN程式中,把档案中的记录记忆体储器传送时所使用语句它不指定记录的格式。例如READ(3)(A(I),I=1,4),表示把由标识为3的输入设备提供的数据分配在存储器中A(1)~A(4)的位置存放

基本介绍

中文:无格式读外文名:unformatted READ statement系统计算用于:磁带档案,磁碟档案不适:印表机、读卡机和终端设备套用学科:计算机原理

关于无格式读

当档案的介质不是纸、卡片而是磁介质(如磁带、磁碟)时,当然也可以使用带格式的读、写语句进行输入输出。但是,一般的FORTRAN程式中,常常是由于记忆体贮器容量不够而利用磁带或磁碟来暂时暂存大批中间计算结果的。如果採用带格式的读、写语句向磁带或磁碟档案输入或输出中间计算结果,那幺这样做将会自白浪费掉由于输入输出时需要进行格式转换时间同时也将多占磁碟或磁带的空间。除去某些特殊的需要,要求使用带格式的读、写语句之外,否则这样做是不经济的。针对这种情况,FORTRAN允许对数据作无格式的输入和输出,也就是说,将一个数据按它在记忆体单元中二进制形式的本来面目,不做任何的格式转换进行输入或输出,这样可以节省输入输出的时间,同时也节省外存空间。所以说一个无格式记录是一个二进制的数串。

无格式的读语句

无格式的读语句有下列两种形式:
xxx||READ(u)k;xxx||READ(u)
其中u——档案的FORTRAN号,它是一个整常数,或者是一个整变数的引用;k——输入表。
执行这个读语句时,输入档案u上的记录并将这记录的值分别赋给输入表k中所列的元素

无格式读的写法

无格式读写语句的写法很方便,只要在读写语句中去掉格式标识符,并写上合适的设备号就可以了。例如语句:
WRITE(8)N,(X(J),J=1,N);
表示在设备号8上写一个无格式记录。这个记录可以通过无格式读语句读入:
READ(8)N,(X(J),J=l,N);
注意无格式和表控格式的区别。表控格式是有格式的,这种格式是计算机系统隐含的。无格式的写只是把记忆体的数据(二进制表示)照搬到指定的输出设备上,无格式的读是把输入设备上的数据(二进制表示)再搬回到记忆体中。由于无格式读写不需要对数据的表示形式进行转换,因此读写速度比有格式的快。

注意事项

使用无格式读写语句应注意下列问题:
(1)在同一档案上不能同时使用有格式和无格式的输入输出。如果第一个记录是用无格式WRITE写的,则全部记录均套用无格式WRITE语句写。也必须用无格式READ语句读这些记录。
(2)无格式读写只适用于磁带档案和磁碟档案,不能用于印表机、读卡机和终端设备。
(3)如果要把一种计算机的输出用磁带複製到另一种计算机,不建仪使用无格式输出。

本文由'是翠琴吖'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明