Мне нужно прочитать большой текстовый файл ( > 10 ГБ) на С++. Это файл csv с переменными длинными строками. когда я пытаюсь читать по строкам, используя ifstream, он работает, но занимает много времени, я думаю, это связано с тем, что каждый раз, когда я читаю строку, она переходит на диск и читает, что делает ее очень медленной.
Есть ли способ читать в буферах, например, читать 250 МБ на одном снимке (используя метод чтения ifstream), а затем получать строки из этого буфера, я вижу много проблем с решением, например буфером, может иметь неполные строки и т.д..
Есть ли решение для этого в С++, которое обрабатывает все эти случаи и т.д. Существуют ли библиотеки с открытым исходным кодом, которые могут это сделать, например boost и т.д.
Примечание. Я бы хотел избежать указателей FILE * и т.д.