Cobol 将换页字符写入文件
Cobol write form-feed char to file
我已经定义了文件
select bankd-file assign to f-bankd-file
file status is wx-fstat
organization line sequential.
fd bankd-file.
****************
01 bankd-rec pic x(80).
我正在逐行写入此文件,只需使用 write 命令即可。在一行中,我还需要写换页字符。这个字符我定义为
01 w-ff pic x value x'0C'.
但是在输出文件中,我在换页之前有一个字符 NUL 字符。请问我怎样才能摆脱这个 NUL 字符?其他字符写入没有任何问题。
题目没有说明使用的COBOL编译器,所以只能猜测。不同的编译器在 "non-text-data" 之前包含一个 x'00'
以确保它可以被正确读入(这主要是在有人试图编写一个可能包含换行符 [=25= 的 COMP
项目时完成的) ] 换页)。
这可能用你的编译器是不可能的,但通常你会这样做:
WRITE bankd-rec FROM SPACES BEFORE ADVANCING PAGE
(执行此操作时不需要 FROM SPACES
BEFORE
/AFTER
您实际想要换页的记录)
对于 Micro Focus COBOL,您可以使用 extfh.cfg
中的 INSERTNULL=OFF 关闭非测试数据之前的 x"00"
我已经定义了文件
select bankd-file assign to f-bankd-file
file status is wx-fstat
organization line sequential.
fd bankd-file.
****************
01 bankd-rec pic x(80).
我正在逐行写入此文件,只需使用 write 命令即可。在一行中,我还需要写换页字符。这个字符我定义为
01 w-ff pic x value x'0C'.
但是在输出文件中,我在换页之前有一个字符 NUL 字符。请问我怎样才能摆脱这个 NUL 字符?其他字符写入没有任何问题。
题目没有说明使用的COBOL编译器,所以只能猜测。不同的编译器在 "non-text-data" 之前包含一个 x'00'
以确保它可以被正确读入(这主要是在有人试图编写一个可能包含换行符 [=25= 的 COMP
项目时完成的) ] 换页)。
这可能用你的编译器是不可能的,但通常你会这样做:
WRITE bankd-rec FROM SPACES BEFORE ADVANCING PAGE
(执行此操作时不需要 FROM SPACES
BEFORE
/AFTER
您实际想要换页的记录)
对于 Micro Focus COBOL,您可以使用 extfh.cfg
中的 INSERTNULL=OFF 关闭非测试数据之前的 x"00"