数据写入csv文件

CSV文件作为轻量化的文本数据格式文件,采用的是逗号作为分隔符。网上有很多对CSV文件的读取与写入数据的操作,但是都是简单的读取写入,并没有提及格式的问题。我在使用mfc向csv文件中循环刷新数据时,就遇到了一些问题,具体看代码。

首先关于文件创建这个,就不多说了。InitFile是包装了CStdioFile的相关文件操作函数。

如下图所示,其中“aaaaaaaaaa”这个,就是要在程序运行时,不断刷新的东西,写这么长很重要。

下图所示则为每次刷新的东西,每一次都会刷新对应一整行的数据,为什么要刷新一整行,而不是具体某一个需要刷新的数据,后面会明白。

 下面就是ReadDataFromFile的具体实现函数,就是将定位用的字段,需要更新的字符串数组传进去,通过ReadString函数,逐行读CSV文件内容,根据定位的字段找到所在行。接着重要的是,要找到这一行最开始的位置,-2是需要考虑到换行与逗号。(当然可以定位到需要跟新的具体数据哪那一项之前,但我觉得没必要)接着就需要用SeekPointTo函数,定位到刷新的位置。注意前面说到Csv是按行来进行读写的,所以,跟新的内容(传入的那个字符串数组)必须要完整。

 后面,又发现数据更新进去以后,下一行的第一列字符串缺少了几个字符,很是奇怪,查阅网上资料没有找到原因。猜测是初始化csv文件时,由于字符串都写了进去,每个逗号之间的数据格式大小已经定好了,相当于每个装数据的格子已经定好了最大的容量。所以,初始化的时候“aaaaaaaaa”就能保证后面更新数据的时候不会出现下行数据字符缺失的现象。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值