Как прочитать весь файл, в котором несколько признаков конца файла
Поймали злые чечены академика, математика и программиста. Привели их на крышу высотного дома и сказали, типа внизу натянут тент, кто спрыгнет и на тент попадет, тот типа жив останется. Академик развел теорию, долго чего-то думал, прыгнул - разбился. Математик быстро посчитал, прикинул, все учел, пригнул и попал на тент, вобщем спасся. Программист думает: "Ну, математик все сосчитал, я сейчас так же сделаю." Разбегается, прыгает, и с воплем: "Блин, перепутал знак!" улетает в небо...
В текстовом файле, который обрабатывает программа, неоднократно
встречается признак конца файла (как этот файл создавался никто и
понятия не имеет), и как следствие если читать файл while not (eof), то
он будет прочитан до первого встреченного символа конца файла :(.
Как прочитать весь файл?
Перепишем ваш файл a.dat в файл b.dat, удалив признаки конца файла:
var
f1,f2 :fileof Byte;
a :Byte;
i :Longint;
begin{$I-}
AssignFile(f1, 'a.dat');
AssignFile(f2, 'b.dat');
Reset(f1);
Rewrite(f2);
for i := 1 to FileSize(f1) dobeginRead(f1, a);
if a <> 26 then Write(f2, a);
end;
CloseFile(f1);
CloseFile(f2);
end.
Статья описывает способ чтения целого текстового файла, содержащего несколько признаков конца файла, с помощью программирования на языке Pascal.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS