csv文件,即逗号分隔值文件格式,以纯文本形式存储表格数据。通俗来讲,一般就是通过逗号来实现将数据分段存入表格中,与excel表格类似,可用excel打开此类文件。具体的概念不再赘述,这里主要介绍数据存储的实现方式。
(1) 未指定第一行表头内容——在MFC中存储一个数组元素,示例代码如下:
//保存一个数组中的元素;
CFileDialog dlg(FALSE, "*.csv", NULL, NULL, "文本文件(*.csv)|*.csv;*.csv||");
if (dlg.DoModal() == IDOK)
{
CString strFilePath = dlg.GetPathName();//获得选择保存的路径;
FILE *fileStream = NULL;
//fileStream = fopen(strFilePath, _T("wb"));
int iError = fopen_s(&fileStream, strFilePath, _T("wb"));
if (iError != 0)
{
MessageBox(_T("创建文件失败!"));
return;
}
else
{
int array[9] = {0,1,2,3,4,5,6,7,8};
//存成三行三列的表格;
for (int j = 0; j < 3; j++)
{
for (int i = 0; i < 3; i++)
{
fprintf(fileStream, "%d,", array[j * 3 + i]);
}
fprintf(fileStream, "\n");
}
}
fclose(fileStream);
fileStream= NULL;
}
运行程序后选择保存的路径保存文件后即可看到生成的csv文件以及存储内容,如下图:
(2)带表头内容的实现只需在for循环前先写入表头内容即可,示例代码如下:
//注意逗号隔开,结束不要忘了加"\n";
fprintf(fileStream, "%s, %s, %s, \n", "one", "two", "three");
至此,简单的csv文件存储就完成了,一些其他的数据存储成csv也大同小异,主要关注各个数据类型的格式化输出表达方式。