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"