需要读取块中大于5 GB的文本文件,以减少使用C++的处理时间 要分块读取文件。 我刚才读到的块应该进一步进行解析。 同时,应该读取另一个块。

需要读取块中大于5 GB的文本文件,以减少使用C++的处理时间 要分块读取文件。 我刚才读到的块应该进一步进行解析。 同时,应该读取另一个块。,c++,fstream,chunks,C++,Fstream,Chunks,我应该怎么做呢?可以在下面找到一种解决方案:逐行读取文件并将行传递给线程。但是,效率取决于工作线程任务的复杂性。有时,文件I/O缓冲已经足够有效,足以补偿I/O延迟。该代码只是逐行读取文件的一般示例,没有记录您在多线程领域的任何想法。您可能需要查找“双缓冲”,或者因为您似乎想这样做。 #include<iostream> using namespace std; int main(){ string lineValue; ifstream myFile("fi

我应该怎么做呢?

可以在下面找到一种解决方案:逐行读取文件并将行传递给线程。但是,效率取决于工作线程任务的复杂性。有时,文件I/O缓冲已经足够有效,足以补偿I/O延迟。

该代码只是逐行读取文件的一般示例,没有记录您在多线程领域的任何想法。您可能需要查找“双缓冲”,或者因为您似乎想这样做。
#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;
}