将结构序列化为CSV文件

时间:2018-03-20 16:05:05

标签: c csv

我无法弄清楚如何将我的结构(如下所示)序列化为CSV格式的文件。

我的数据结构是:

typedef struct{
  double car_plate[80][100];
  double year[80][100];
} Results;

如何将其保存为CSV文件?

1 个答案:

答案 0 :(得分:1)

它被称为序列化。我不认为你想把16 KB放到堆栈上,但这对你来说并不重要。

无论如何,您非常希望fprintf选项与for循环一起使用,如下所示:

Results res; //Let's assume that it's initialized.
FILE * f; //Let's say same about file.

for(int y = 0; y < 100; y++)
    for(int x = 0; x < 80; x++) {
        fprintf(file,"%f,%f\n", res.car_plate[x][y], res.year[x][y]);
        fflush(file);
    }

您必须根据要求调整此代码。如果这不符合您的条件,您始终可以将其用作模板以自行解决。 fflush()只是冲洗缓冲区,所以我几乎100%确定你可以安全地删除它,如果你打算在操作后冲洗流。