Двоичные и текстовые
Вы открываете file of Integer
.Это означает, что вы записываете целые числа в файл, то есть файл имеет формат двоичный .
Но вы называете его name + '.txt'
, что подсказывает мне, что вы хотите написать текст , а не двоичные значения, в файл.
Теперь, если вы отображаете его как текст, но это не текст, вы не получаете то, что хотите.
Двоичный означает, что вы, например, пишете 4-байтовое целое число, например 12345
(или шестнадцатеричное $3039
), в качестве этих 4 байтов, то есть байтов $39
, $30
, $00
и $00
, в этом порядке (или в обратном порядке, в зависимости от порядкового номера вашего компьютера).
Двоичный файл компактен, но редко читается человеком.Если вы отображаете такой бинарный файл как text , вы можете получить странный вывод или, возможно, вообще ничего (просто попробуйте открыть файл .exe в текстовом редакторе и посмотрите, чтоты получаешь).Вы, вероятно, хотите написать цифры в виде текста.Или вы используете что-то вроде шестнадцатеричного редактора для их просмотра (если вы умеете читать в шестнадцатеричном формате).
Так что откройте ваши файлы как text
:
PROGRAM archivosejercic1o;
TYPE
num = text;
VAR
arch_num: num;
name: string[20];
x: integer;
BEGIN
...
writeln(arch_num, x);
...
END.
Подробнее о двоичный против текст : https://fileinfo.com/help/binary_vs_text_files. Обратите внимание, что это еще не объясняет различные версии текста Unicode.