fstream — необходимо прочитать текстовый файл размером более 5 ГБ порциями, чтобы сократить время обработки с помощью переполнения стека

#include<iostream>
using namespace std;
int main(){
string lineValue;
ifstream myFile("file.txt");
if (myFile.is_open()) {

while (getline(myFile, lineValue)) {
cout << lineValue << '\n';
}
myFile.close();
}
else cout << "Unable to open file";
return 0;
}
  1. Хочу прочитать файл кусками.
  2. Кусок, который я только что прочитал, должен пойти дальше для разбора.
  3. Тем временем должен быть прочитан другой кусок.

Как мне это сделать?

0

Решение

Тип решения этой проблемы (чтение файла строка за строкой и передача строк в потоки) можно найти в разделе Передача сообщений между потоками с использованием командного файла. Однако эффективность зависит от сложности задач для рабочих потоков. Иногда файловая буферизация ввода-вывода уже достаточно эффективна, чтобы компенсировать задержку ввода-вывода.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector