var
fin,fout: text;
s: string[4];
begin
assign(fin,'in.txt');
reset(fin);
assign(fout,'out.txt');
rewrite(fout);
while not eof(fin) do
begin
read(fin,s);
write(fout,s);
end;
close(fin);
close(fout);
end.
Потому что препод думает, что при длине файла, не кратной 4, в последнюю строку допишутся пробелы (когда файл закончится на середине строки).
А на самом деле, последняя строка обрезается и такой код работает корректно.
Логично, что он так думает
Да, забыл добавить стандартный вопрос:
если пробелы добавляются, то в каких версиях компилятора?
Я вот, пока не запустил, думал, что он добавит в конец 3 раза №26
Тарас, я не врубаюсь в твои рассуждения про четверки. Ты имеешь в виду процессорное слово? А при чем тут оно? А может, тогда, уже 8-рки? Понятно, впрочем, что файл займет на диске место в один блок, то есть обычно 4КБ. Но я сомневаюсь, что остаток блока будет чем-то записан. Впрочем, речь все равно не о том )).
Я думаю, препод имел в виду дополнение до полного размера строки. Хотя, может, я и не прав ("никогда не знаешь, что придет в голову пчелам" (С))
Все это доволно странно.. Во-первых - это совешенно не согласуется с концепцией. Во-вторых - ну почему именно пробелы??? А в третьих - что ж, он ни разу не писал файлы из строк по 1-2 символа?..
Шека, тебе пора книжку с его перлами издавать..
> Тарас, я не врубаюсь в твои рассуждения про четверки.
Строка же задана как 4-символьная.
> Я думаю, препод имел в виду дополнение до полного размера строки.
Да, я про то же.
Ну да, раз TarasBer, значит очередное байтоложество будет втирать...