Как прочитать весь файл, в котором несколько признаков конца файла
Поймали злые чечены академика, математика и программиста. Привели их на крышу высотного дома и сказали, типа внизу натянут тент, кто спрыгнет и на тент попадет, тот типа жив останется. Академик развел теорию, долго чего-то думал, прыгнул - разбился. Математик быстро посчитал, прикинул, все учел, пригнул и попал на тент, вобщем спасся. Программист думает: "Ну, математик все сосчитал, я сейчас так же сделаю." Разбегается, прыгает, и с воплем: "Блин, перепутал знак!" улетает в небо... |
В текстовом файле, который обрабатывает программа, неоднократно встречается признак конца файла (как этот файл создавался никто и понятия не имеет), и как следствие если читать файл while not (eof), то он будет прочитан до первого встреченного символа конца файла :(.
Как прочитать весь файл?
Перепишем ваш файл a.dat в файл b.dat, удалив признаки конца файла:
var f1,f2 :file of 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) do begin Read(f1, a); if a <> 26 then Write(f2, a); end; CloseFile(f1); CloseFile(f2); end. |
Далее: Как прочитать владельца файла »»