Как убрать символ окончания проверки?

Каждый раз, когда я пишу в выходной файл, всегда будет символ конца проверки ().

Рассмотрим программу ниже:

   IDENTIFICATION DIVISION.
   PROGRAM-ID. HEY.
   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
       SELECT OUTFILE ASSIGN TO "alpha.txt".
   DATA DIVISION.
   FILE SECTION.
   FD  OUTFILE.
   01  OUTREC       PIC X(10).
   PROCEDURE DIVISION.
       OPEN OUTPUT OUTFILE
       MOVE "ABCDEFGHIJ" TO OUTREC
       WRITE OUTREC
       CLOSE OUTFILE
       STOP RUN.

Содержимое alpha.txt

ABCDEFJHIJ
□

Я использую Realia, потому что это то, что требует от нас наша школа. Я также знаю, что если я запущу тот же код выше, используя какой-либо другой компилятор, такой как OpenCobol, вывод будет в порядке, то есть без символа конца проверки.

Итак, как удалить символ окончания проверки?


person Satellite Sage    schedule 12.08.2019    source источник
comment
Я использую Realia, потому что это то, что требует от нас наша школа. Я настоятельно рекомендую поговорить с инструкторами, поскольку Realia (насколько мне известно) очень устарела, и GnuCOBOL должен работать на любой системе, с которой работает Realia.   -  person Simon Sobisch    schedule 12.08.2019


Ответы (2)


Скорее всего, в файле нет символа конца корректуры, вместо этого символ, который вы видите, используется для непечатаемого символа, который там находится (или символ без символа в используемом шрифте; или, как указал Рик, маркер конца файла).

Судя по расширению «txt», вам нужен текстовый файл, но, поскольку вы ничего не указали, вы получите последовательный файл. Я не уверен на 100% в поддержке (вплоть до нестандартного COBOL 202x) ORGANIZATION IS LINE SEQUENTIAL в Realia COBOL, но предлагаю попробовать:

       SELECT OUTFILE ASSIGN TO "alpha.txt"
              ORGANIZATION IS LINE SEQUENTIAL.
person Simon Sobisch    schedule 12.08.2019

Почти наверняка это метка конца файла (Cntl-Z или 0x1A). В моей системе (Win 10) символ отображается удлиненным (высоким), а не квадратным. Приклеил к этому сообщению квадрат.

ABCDEFJHIJ

[Квадрат отображается в режиме предварительного просмотра и редактирования; но позже исчезает.]

См. также этот ответ и эту статью в Википедии, Конец файла, для получения дополнительной информации.

Как убрать символ окончания проверки?

Чтение файлов в Realia COBOL не проблема. Это может быть не проблема с GNUCobol. Однако посимвольная копия файла с остановкой на отметке конца файла может быть выполнена на COBOL или любом другом языке.

person Rick Smith    schedule 12.08.2019