木木夕阳子 2018-12-13 02:39 采纳率: 50%
浏览 734
已采纳

以CFile::modeCreate 模式打开文件,数据清除失败

如题,写的mfcdll工程,保存数据时,创建了cflie对象,打开文件使用了清除模式,但是保存时,数据会重复写入,有没有解决方案?

ps,关闭软件,重新打开,第一次写入数据时会清空

CStdioFile f;
f.Open(path,CFile::modeCreate | CFile::modeWrite );
CHFile * pFile = new CHFile(&f);

//测试;
CBigDetect* pToolBigDetect = new CBigDetect;
HS_BASE_LIST.push_back((CBase*)pToolBigDetect);

int nSize = HS_BASE_LIST.size();
for (int i = 0 ; i < nSize ; i++)
{
    CBase* pTool = HS_BASE_LIST[i];
    if (pTool){
        pTool->WriteConfig(pFile);
    }
}
//关闭操作;
f.Close();

  • 写回答

2条回答 默认 最新

  • 木木夕阳子 2018-12-13 04:43
    关注

    找到原因了,并不是cfile打开文件没有清空,而是我在下边的测试代码段,
    CBigDetect* pToolBigDetect = new CBigDetect;
    HS_BASE_LIST.push_back((CBase*)pToolBigDetect);

    我点击保存后,再把文件删除,重新保存,结果数据还是重复的,但是关闭后第一次保存会清空,突然意识到是数据没有清空
    这才意识到,push_back之前没有清空数据,

    被自己蠢哭了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值