1.CSV文件是一行一行存储的,每个数据之间用“,”隔开
2.定义一个数组:
CStringArray csvTitle
3.添加一行数据:
csvTitle.RemoveAll();
csvTitle.Add(_T("a"));
csvTitle.Add(_T("b"));
m_pCsv->WriteDataToFile(&csvTitle);
4.将a,b写入.csv文件需要用到WriteString函数:
void CSVWrite::WriteDataToFile(CStringArray* wArray)
{
int dataCount;
dataCount=wArray->GetSize();
CString wstr;
wstr=wArray->GetAt(0);
int i;
for(i=1;i<dataCount;i++)
{
wstr+=_T(",")+wArray->GetAt(i);
}
wstr+="\n";
SeekPoint();
wfile.WriteString(wstr);
}
5.打开文件:
wfile.Open(strCheckPath,CFile::modeReadWrite|CFile::typeText);//strCheckPath为需要打开的文件路径
6.关闭文件:
wfile.Close();
7.读取文件,读取的逻辑是一次读取一行
CString wstr,wstr1,wstr2;
wfile.SeekToBegin();//将光标定位到文件最开始
CString str;
while (wfile.ReadString(str))
{
if (str.Left(str.Find(",",0))==csvTitle)
{
wstr1 = str.Right(str.GetLength()-str.ReverseFind(',')-1);
wstr2=csvTitle+_T(",")+strTmp+_T(",")+wstr1;
wfile.Seek(-2-str.GetLength(),CFile::current);//将光标定位在本行最前面
wfile.Write(wstr2,strlen(wstr2));
break;
}
}
8.光标定位:
seek()的三种模式:
(1)f.seek(p,0) 移动当文件第p个字节处,绝对位置
(2)f.seek(p,1) 移动到相对于当前位置之后的p个字节
(3)f.seek(p,2) 移动到相对文章尾之后的p个字节