因此,我有一个程序可以接收多达 1000 个文件路径,其想法是读取 3 个特定字节以返回日期,这一切都很好。
问题在它开始时就开始了,并且内存使用量飞向最大值,并因此在几秒钟内冻结了我的电脑。
我猜打开过程会消耗几兆或其他东西......关于如何在没有大量内存使用的情况下实现我需要的任何想法?
注意:我打开的文件大约为 15 GB
int main(int argc, char *argv[])
{
    string paths[1000] = {};
    int date[3] = {0};
    cout << "Arg count: " << argc << endl;
    if (argc <= 1)
        paths[0] = "PRIV.EDB";
    else
        for(int i = 1;i<argc;i++){
            paths[i-1] = argv[i];
        }
    cout << "Start\n\n";
    for (int i=0;i<1000;i++)
    {
        if (paths[i].empty())
            break;
        cout << paths[i] << endl;
        ifstream pFile;
        pFile.open(paths[i], ios::binary);
        pFile.seekg(195);
        date[0] = pFile.get();
        date[1] = pFile.get();
        date[2] = pFile.get();
        cout << date[0] << " : " << date[1] << " : " << date[2] << " \n";
        cout << endl;
        pFile.clear();
        pFile.close();
    }
    cout << "Fin\n";
    if (argc <= 1)
        getchar();
    return date[0];
}