文件
出处:按学科分类—工业技术 企业管理出版社《工程师手册》第845页(4240字)
FORTRAN中的文件按存取方式分为顺序文件和直接文件;按数据在文件中的存放形式又分为有格式存放(以ASCII码形式存放)和无格式存放(以二进制代码形式存放)
下面分别介绍有关文件操作的语句。
1.OPEN语句
格式如下:
OPEN (说明项)
“说明项”包含以下九项,各项之间以逗号隔开。该语句用来打开一个文件。
(1)设备号说明 UNIX=ie(或ie)。ie是一个值为正整数的算术表达式,数值范围为1~99。
(2)文件名说明 FILE=ce。ce是一个字符串表达式,代表文件名。此项缺省时由计算机系统给出。
(3)文件状态说明 STATUS=ce。ce是一字符串表达式,可以是以下4种之一。
OLD 表示指定的文件已存在。
NEW 表示指定的文件尚不存在,需建立。
SCRATCH 表示系统自动分配一个临时文件供使用,执行CLOSE语句时自动删除。因此该项不能与文件名说明项共存。
UNKNOWN 表示由计算机系统判断文件状态。它是文件状态说明的隐含值。
(4)存取方式说明ACCESS=ce。ce为一字符串表达式,其值可以是以下两种之一。
SEQUENTIAL 顺序存取方式。它是存取方式说明的隐含值,即当不说明存取方式时,隐含的就是SEQUENTIAL。
DIRECT 直接存取方式。
(5)记录格式说明 FORM=ce。ce是一字符串表达式,其值可以是以下两种之一。
FORMATTED 有格式存放。为顺序文件的隐含值。
UNFORNATTED 无洛式存放。为直接文件的隐含值。
(6)记录长度说明 RECL=ie。ie是一个值为正整数的算术表达式,其值代表文件记录的字节数。只用于直接文件。
(7)说明数字值格式输入字段中空格的含义 BLACK=ce。ce是一个字符串表达式。其值可以是以下两种之一。
NULL 说明输入字段上的全部空格忽略不计,若全部是空格其值为零。此项为稳含值。
ZERO 说明输入字段上的全部空格处理成数字零。
此说明只能用于格式输入。
(8)出错处理说明 ERR=1。1为本程序单位中的一个语句标号。当OPEN语句执行出错,则转向这一标号继续执行。省略此说明项,当OPEN语句执行出错时,将终止程序运行。
(9)出错状态说明 IOSTAT=iv。iv是一个整型变量当执行此OPEN语句时,由系统自动给iv赋值,若语句执行没发生错误iv=0;若发生错误jv>0,具体数值随系统而异。
2.CLOSE语句
形式如下:
CLOSE (说明项),
该语句用来关闭文件、说明项包括以下各项;
(1)设备号说明 UNIX=ie(或ie)。le是值为正整数的算术表达式,说明所关闭文件的设备号
(2)关闭后文件状态说明 STATUS=ce,co是一个字符串表达式。其值为以下两种之一:
KEEP 说明文件关闭后,与设备号连接的文件保留下来不被删除。
DELETE 说明文件关闭后,与设备号连接的文件不予保留。
当OPEN语句中的文件状态说明为STPATCH时不能使用KEEP。
此项缺省时,除指定为STPATCH的文件外全部保留。
(3)出错处理说明 ERR=1。同OPEN语句。
(4)出错状态说明 1OSTAT=iv。同OPEN语句。
3.REWIND语句(反绕语句)
格式如下:
REWIND (说明项)
该语句使指定设备号的文件位置指针指向文件的开头。说明项包括以下各项。
(1)设备号说明 UNIT=ie(或ie)。
(2)出错处理说明 ERR=1。
(3)出错状态说明 IOSTAT=iv。
其含义与OPEN语句中的相同。
4.BACKSPACE语句(回退语句)
格式如下:
BACKSPACE (说明项)
该语句使指定设备号的文件位置指针回退一个记录位置。说明项的内容同REWIND语句。
5.输入语句
格式如下:
READ (说明项) 输入项表
或
READ (说明项)
其中输入项表中各项可以是变量名、数组元素名、数组名,各项之间以逗号隔开。当没有输入项表时,执行该语句就跳过一个记录。
说明项含以下各项:
(1)设备号说明 UNIT=ie(或ie)。除可用星号外,其它与OPEN语句中的相同。
(2)格式说明 FMT=格式标识符(或:格式标识符)。格式标识符可以是*号、FORMAT语句标号或格式编辑符组成的字符串。
该项只用于有格式文件。
(3)记录号说明 REC=ie。ie是一个值为正整数的算术表达式。READ语句从ie反指的那个记录号开始读文件记录。
此项只用于直接文件。
(4)文件结束说明 END=1。1代表本程序单位中的一个语句标号。有此项说明时,当读到文件结束标志时将自动转向带有该标号的语句继续执行,否则将终止程序执行。
5)出错说明 ERR=1。1代表本程序单位中的一个语句标号。有此项时,当读语句执行出错,则转向带有该标号的语句继续执行,否则将终止程序执行。
6)输入状态说明 IOSTAT=iv、iv代表一个整型变量,当执行READ语句时,给iv赋值。若执行正确,iv=0;若遇文件结束标志则iv>0;若出错,则iv<0,具体数值随系统而异。
6.输出语句
格式如下:
WRITE (说明项) 输出项表
或
WRITE (说明项)
其中输出项表中可以是常量、变量、数组元素、数组名、表达式。各项之间以逗号分隔。
每执行一次WRITE语句就输出一个新的记录。没有输出项时,则输出一个空记录。输出语句可含以下说明项。
(1)设备说明 UNIT=ie(或ie)。
(2)格式说明 FMT=格式说明符(或格式说明符)。
(3)记录号说明 REC=ie。
(4)出错说明 ERR=1。
(5)输出状态说明 IOSTAT=iv。
以上各项的作用与READ语句中的对应项相似。