程序写文件,中断程序导致文件内容清空!

迷茫的蜉蝣 2024-01-29 11:30:48

环境:海思3531

有本地文件保存程序的一些信息,该信息是随时变化的,每次有变化就会将新的内容全部重写写到文件;

std::string context = json.toStyledString();//json为要向文件写入的内容
std::ofstream ofs;
ofs.open(fileBak);
if(ofs.is_open()){
   ofs.write(context.c_str(), context.size());
   ofs.flush();//刷新缓存到本地
   ofs.close();
   return 0;
}

每次写文件时我都是用flushh刷新了啊,可是如果程序运行过程中,kill掉程序,可能会导致文件的内容为null;概率还挺高!特别是断电重启开发板,然后kill掉程序,特别容易出现!

有没有遇到过相同问题的大佬?你们的解决方案是什么?我尝试了几种方案都不行!

...全文
290 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌龙三 02-05
  • 打赏
  • 举报
回复

写之前备份

  • 举报
回复
@乌龙三 试过了,连备份都清空了

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧