Есть лог файл с датами и сообщениями очень большого размера (~1Гб). Как сделать сортировку
строчек? как то можно его по частям проверять?
Выбираете дату "медиану". Создаете 2 файла, в первый пишете все строки меньше медианы, во второй - все что больше. Если получившиеся куски еще слишком велики - делите их рекурсивно. Потом сортируете каждый кусок в памяти и пишете все сортированные куски в новый файл. Возможна ситуация когда память есть (напр 2 Gb) но выделить слишком большой блок все равно не удается - это нормально.
Есть способ и проще
C++ (Qt)
struct CLine {
QDate mDate;
qint64 mFilePos;
};
Создаете контейнер таких, сортируете и потом собираете делая seek. Писать меньше но тут предполагается что контейнер влезет в память