Запомнить позицию чтения QFile
Есть сторонний лог-файл. При запуске программы необходимо считать с него новую информацию, появившуюся за время, пока программа не работала. Далее в оперативном режиме работаем с появляющимися данными. Перед закрытием необходимо запомнить место, на котором остановились (текущий конец файла по факту), чтобы во время следующего запуска с него начать чтение появившийся данных.
С последнем пунктом проблемы. Не нашла никакой информации по поводу того, как запомнить текущее место чтения даже в пределах одной сессии.
С файлом работаю с помощью QFile. Знаю, что сохранять данные между сессиями можно с помощью QSettings, однако не уверена, что в данном случае это поможет.
Ответы (1 шт):
Сохранять время последней считанной строчки лог файла. При повторном считывании искать данное время. Если нету времени у строчек, то лог файл какой-то неправильный.
- Если первая строчка содержит более новое время, чем сохранненное, то значит, что лог файл новый и с ним надо работать с самого начала.
- Если же время в первой строчке более старое, чем мы сохранили, то ищем строчку с сохранненным временем и продолжаем далее работу с лог файлом.
Могут быть нюансы со строчками содержащими одинаковое время. Этот момент нужно проработать. Например, можно сохранить текст строчки.