Эффективное чтение больших текстов в C ++

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

Есть ли способ прочитать в буферах, например, прочитать 250 МБ за один раз (используя метод чтения ifstream), а затем получить строки из этого буфера, Я вижу много проблем с решением, например, в буфере могут быть неполные строки и т. д.

Есть ли решение в C ++, которое обрабатывает все эти случаи и т.д. 12153] Примечание: я бы не хотел использовать указатели c stye FILE * и т. Д.

10
задан user424060 1 February 2011 в 06:05
поделиться