cobol 怎样回到文件起始位置

cobol 怎样回到文件起始位置,第1张

看是什么文件了,ORGANIZATION 如果是:

1、SEQUENTIAL 或 LINE SEQUENTIAL 的,只能关闭再打开;

2、INDEXED,可以指定START KEY为 LOW-VALUE,先用START,再用READ NEXT

3、RELATIVE,可以把 RELATIVE KEY 指定为零,然后用START 及READ NEXT,也可以把RELATIVE KEY指定为1,READ 然后READ NEXT.

你学艺不精啊,其实不光COBOL是这样,大多数的编程语言都是这样,定义的变量初始化,在初始化之前的值是随机的,即什么值都有可能。

我们知道,编程语言中的变量有静态的和动态的两种,这两种变量的不同只体现在分配区域和生存周期的不同,而分配方式都是相同的:在内存中开辟一块变量所需的区间即可,并不对这块区间进行所谓的初始化(这块区间是内存中的空闲区间,甚至也有可能是某个动态变量刚刚结束生存周期所释放的。同样,这个动态变量在生存周期结束、释放内存空间时,也不对要释放的这块区间进行什么初始化)。为了程序运行结果的正确,你要在程序中对变量进行适当的初始化,如:为了程序运行的需要,你有时要把变量初始化为ZERO,有时要把变量初始化为1,有时要把变量初始化为SPACE,有时要把变量初始化为LOW-VALUE,有时要把变量初始化为HIGH-VALUE等等,打印报表的时候,你可能还要把变量初始化为一些有特殊意义的字符等等。

至于你问题的重点,这是可以实现的,但恢复到初始之前的状态有意义吗?似乎没有。对变量进行初始化,本来就是为了确保程序运行结果的正确,至于它以前是什么值,有必要知道吗?

如果你非要重新恢复到初始化以前的状态,可采用形如以下的办法,做一个备份:

01 VARIABLE-LIST.

05 VAR1 PIC X(05).

05 VAR2 PIC 9(06).

05 VAR3 PIC A(10).

77 VARIABLE-BACKUP PIC X(21).

在PROCEDURE DIVISION中,

MOVE VARIABLE-LIST TO VARIABLE-BACKUP.(先备份)

MOVE SPACE TO VAR1

MOVE ZERO TO VAR2

MOVE SPACE TO VAR3.

再做初始化。你想恢复时,只需MOVE VARIABLE-BACKUP TO VARIABLE-LIST即可。

一般的来说cobol调用其他的程序,一般的是include之前程序已经编译好的文件。cobol2002应该是fujitsu在windows下的开发工具,我们在编译好的子程序,一般会生成dll文件,在编译的脚本程序当中,把我们所需要调用的c程序的dll文件include进去就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11330987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存