Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как прочитать последние х строк из файла


Автор: sol78 14.7.2010, 11:13
Как прочитать последние х строк из файла?

Автор: xvr 14.7.2010, 11:31
Выбирайте:
  •  Прочитать все, оставить последние x
  •  Прочитать блок (достаточного размера) с конца файла, отбросить в нем первую (возможно не полную) строку, остальные пересчитать - если их больше x - то см п1, если меньше - то увеличить 'достаточный размер' и повторить
  •  Отмэпить файл в память, далее по мотивам п2
  •  Отмэпить файл в память, отсчитать x строк с конца поиском по памяти снизу вверх

Автор: sol78 14.7.2010, 12:05
а можно ли читать построчно с конца файла?

Добавлено через 1 минуту и 46 секунд
xvr, а что бы вы посоветовали?

Автор: djamshud 14.7.2010, 12:41
sol78, с конца можно читать посимвольно, но это медленно. Могу добавить еще пятый (плохой, хотя если заведомо известно, что файл небольшой, то хороший) вариант: прочитать все в память и действовать как в п.4. Проще всего - п.1. и п.5, самый эффективный, на мой взляд, п.4.

Автор: sol78 14.7.2010, 12:46
djamshud,  можите накидать код по 4 п.?

Автор: xvr 14.7.2010, 17:56
Цитата(sol78 @ 14.7.2010,  12:05)
а можно ли читать построчно с конца файла?

Нет
Цитата

Добавлено @ 12:07
xvr, а что бы вы посоветовали?
Зависит от размеров файла. Для маленьких - п1, для больших - п3 или 4, для переносимости - п2

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)