CSV файл, как найти N-ю с конца строку??? (+)

 
Добрый день.
Убился, помогите. Скорее всего, уперся во что-то элементарное.
Суть: нужен сборщик данных из МТ, но не переписывающий файл каждый раз заново, а добавляющий недостающую историю в конец. Соответственно, в файле нужно найти последнюю строку, распарсить дату/время, взять из МТ данные с этой точки и записать. Но у меня упорно не выходит получить начало последней строки поиском с конца файла, только в лоб:
while( !FileIsEnding( handle ) )
txt = FileReadString( handle );
при этом файл я открываю с "левым" разделителем.

Как решить задачу? Прямой поиск в конечном варианте неприемлем, слишком долго.

Спасибо.
 
Это - непростая задача. И однозначного решения не имеет.
Если Вы считаете свой вариант долгим, то попробуйте читать файл не сначала. Установите указатель, например, за 100 байт до конца файла. Этот размер (в данном случае 100) должен быть заведомо больше размера любой вашей строки.
 
Вот тут есть грамотная работа с файлом "MQL4: Новый взгляд на эквиобъемные графики"
 
Во-первых, Конец строки не всегда там, где его ждешь - http://simple-testing.blogspot.com/2007/12/blog-post_10.html.

Во-вторых, что мешает сначала считать файл в строковый массив (http://simple-testing.blogspot.com/2007/03/blog-post_30.html), а потом записать новый файл?
 

Во-вторых, что мешает сначала считать файл в строковый массив (http://simple-testing.blogspot.com/2007/03/blog-post_30.html), а потом записать новый файл?

Нет никакого желания читать этот файл вообще. Сейчас это часовки с 98 года, 3 с лишним мега на файл. Файлов сейчас 8, может стать больше..


Буду ставить указатель близко к концу файла, Slawa, спасибо за идею!