Файловый указатель

 
Коллеги подскажите как красиво и не трудозатратно установить файловый указатель в начало последней строки csv файла. А то всё решения которые мне приходят вижу уж больно трудоёмкие. Спасибо!!!
 
Скорее всего, решение зависит от того, как вы собираетесь работать с файлом, точнее, в каком режиме его открываете...
 
Sergey Dzyublik:
Скорее всего, решение зависит от того, как вы собираетесь работать с файлом, точнее, в каком режиме его открываете...
Полный режим чтения записи в общей песочнице. В первый столбик пишется дата, во второй значение. Первую дату считать без проблем, а вот дату последней строки уже проблема. Для этого нужно установить указатель в начало последней строки. Как это сделать?
 
Mihail Marchukajtes:
Полный режим чтения записи в общей песочнице. В первый столбик пишется дата, во второй значение. Первую дату считать без проблем, а вот дату последней строки уже проблема. Для этого нужно установить указатель в начало последней строки. Как это сделать?

Детский сад какой-то...
Вам надо решение или поговорить ни о чем в 3-то томах?
Когда созреете, возвращайтесь с исходниками и csv файлами, а то все так и спешат расшифровать ваше послание и оформить его в код.

 
Sergey Dzyublik:

Детский сад какой-то...
Вам надо решение или поговорить ни о чем в 3-то томах?
Когда созреете, возвращайтесь с исходниками и csv файлами, а то все так и спешат расшифровать ваше послание и оформить его в код.

Странный Вы человек. Во вложении файл. Необходимо установить указатель в начало последней строки. Что тут ещё не понятного?

Файлы:
 
Mihail Marchukajtes:
Полный режим чтения записи в общей песочнице. В первый столбик пишется дата, во второй значение. Первую дату считать без проблем, а вот дату последней строки уже проблема. Для этого нужно установить указатель в начало последней строки. Как это сделать?

"Полный режим чтения записи..."

1) Это что за зверь такой? Разве бывает "Неполный" режим чтения записи? 
2) Если речь о FILE_READ | FILE_WRITE, то зачем о них вспоминать если они ни как не влияют на алгоритм работы стандартных функций чтения/записи в файл?


"...чтения записи в общей песочнице"

3) Работы с файлом идут через WinApi? Если нет, то зачем вообще вспоминать про "песочницу"?
4) С каких пор расположение файла в FILE_COMMON как-то влияет на работу с ним?


5) Вы так и не ответили на вопрос, "в каком режиме открываете файл...". Документация по FileOpen вам в помощь.
6) Спасибо за csv файл, но где исходники???
Вы хотите получить рефакторинг вашего кода - "А то всё решения которые мне приходят вижу уж больно трудоёмкие.",
но при этом не предоставляете ни чего из исходников, чудеса абсурда...

 
Mihail Marchukajtes:
Коллеги подскажите как красиво и не трудозатратно установить файловый указатель в начало последней строки csv файла. А то всё решения которые мне приходят вижу уж больно трудоёмкие. Спасибо!!!

1. Переместить указатель на K символов от конца файла, K заведомо больше максимальной длины строки

2. запомнить указатель

3. считать строку, если не достигнут конец файла то к п2

4. перейти к позиции сохранённой в п2

в дальнейшем запоминать/сохранять позицию последней строки 
 
Maxim Kuznetsov:

1. Переместить указатель на K символов от конца файла, K заведомо больше максимальной длины строки

2. запомнить указатель

3. считать строку, если не достигнут конец файла то к п2

4. перейти к позиции сохранённой в п2

в дальнейшем запоминать/сохранять позицию последней строки 
Скорее всего, это и есть тот самый "трудозатратный" способ автора, но красивого способа для данного случая я не представляю.
Если формат дата+значение, лучше не csv, а бинарный файл.
 
встать в конец и чтением к началу найти "\r\n"?
 
Ну ок, если устраивают такие кривые решения, то вот наименее некрасивое:
Открыть файл как бинарный, установить указатель в конец, читать побайтно назад до перевода строки, запомнить указатель, переоткрыть как текст.
 
Igor Zakharov:
встать в конец и чтением к началу найти "\r\n"?
Таки я так и думал. Переместить указатель в конец файла, начать считывание в обратную сторону до первого символа конца строки, как только символ будет достигнут, знамо последняя строка будет уже просчитана. Вопрос, каким макаром начать двигаться с конца файла в сторону начала?
Причина обращения: