CSV文件操作

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个字节

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值