减少输出fstream

时间:2016-06-13 09:22:52

标签: c++ multidimensional-array fstream export-to-csv

我正在使用压力敏感的LED地板,它以二维阵列输出传感器。我想记录这些数据并将其发送到CSV文件。但是,使用我当前的代码,我每秒收集300.000 KB。

void DemoProjectApp::recorddata()
{
    std::ofstream myfile;
    myfile.open("datafloor.csv");
    while(pressed = true)
    {

        for (int i = 0; i < ProjectSettings::NR_OF_TILES; i++)
        {
            myfile << "Tile" << i << ",";
            myfile << tileIndexToSensorValues[i][0] << ",";
            myfile << tileIndexToSensorValues[i][1] << ",";
            myfile << tileIndexToSensorValues[i][2] << ",";
            myfile << tileIndexToSensorValues[i][3] << "\n";
            myfile.flush();
        }

    }
    if(pressed = false)
    {
        myfile.close();
    }
}

Pressed是一个布尔值,改变true或false以开始和停止录制。 有没有人有减少输出的解决方案,但仍能获得相关数据?

提前致谢!

2 个答案:

答案 0 :(得分:0)

你在那里写的是有效的一系列图像。 Aka是一个视频文件。以非常低效的编码方案编码的视频。我猜压力场没有陡峭的变化,所以我的第一种方法是使用视频编解码器(MPEG4,h264等)对其进行编码。

答案 1 :(得分:0)

好吧,感觉非常愚蠢,但答案是在按下的布尔值上加上==。 完全忽略了它。