Чтение из файла длинной строки

Советы » Файлы » Чтение из файла длинной строки

Для решения этой задачи на помощь можно призвать потоки (TFileStream, TMemoryStream). Для поиска конца строк нужно искать пары CR/LF, но это делается очень легко, приблизительно так (я сегодня вечером слишком ленивый для реального кода):

Start := Stream.Position;
End

:= Start; Repeat

Stream.Read

(Buffer^, 1024); CRPos := FindCR(Buffer^); { где FindCR возвращает 0..1023 для CR, и 1024, если он не найден} Inc(End

, CRPos); Until

CRPos < 1024; GetMem(MyPChar, End

- Start); { Здесь может быть +-1 -- мне лень сегодня проверять! } Stream.Seek(Start); Stream.Read

(MyPChar^, End

- Start)

Затем установите CR в конце MyPChar в 0, и сделайте Seek в конец (End + 1), или что-то еще, чтобы пропустить LF.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com