小编Met*_*ron的帖子

在windows 10下用c ++在csv文件中快速保存向量

我的程序读取一个文件,处理它并将结果保存在一个csv文件中。我们整个人都包含一个循环,其中处理了许多不同的文件。为每个文件生成一个单独的 csv 文件。我能够在时间方面非常有效地实现处理,因此保存各自的结果是循环中最长的过程。结果可用,vector <float>目前保存如下:

    std::vector<float*> out = calculation(bla);

    fstream data;
    data.open(savepfad + name + ".csv", ios::out);
    data<< sizex << endl;
    data<< sizey << endl;
    data<< dim << endl;

    for (int d = 0; d < dim; d++)
    {       
        for (int x = 0; x < sizex * sizey; x++)
        {
            data << out[d][x] << ",";
        }
        data << endl;
    }
    data.close();
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是,我可以简单地将存储过程外包给一个新线程(可能使用 fork),这样我就可以继续主循环。但是我用的是窗户。我可以以某种方式更快地将数据写入硬盘驱动器吗?有没有人有一个绝妙的主意?

编辑: 所以我根据声明重建了代码,但没有真正的速度优势。代码现在看起来像这样:

    std::vector<float*> out = calculation(bla);

    string line =  std::to_string(sizex) + "\n" + …
Run Code Online (Sandbox Code Playgroud)

c++ csv

0
推荐指数
1
解决办法
98
查看次数

标签 统计

c++ ×1

csv ×1