MFC向SD卡中存数据,在存数据的过程中人为的把卡拔掉,如何处理

qq_34378196 2018-05-07 03:56:58
我使用的工业平板电脑,通过串口接收数据,将数据处理完毕之后保存到SD卡中的一个TXT文件中,在软件运行过程中如果人为的将SD卡拔除,软件会死机,现想获得一个存储的方案,非常感谢
...全文
765 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
iswjh 2018-05-20
  • 打赏
  • 举报
回复
引用 8 楼 zhao4zhong1 的回复:
不要企图优雅的结束(因为这是不可能办到的) 而要在烂的不能再烂的摊子上也能重整河山!
工控类数据,最好多份保存。本地留1份,网络、外部设备捕获异常,VS、OFFICE死机后不也有恢复吗?怎么做的。。。
worldy 2018-05-17
  • 打赏
  • 举报
回复
系统设备发生改变时,会发出WM_DEVICECHANGE消息,如果设备被移除,该消息参数为DBT_DEVICEREMOVEPENDING,再此时刻,可以进行你的“无奈的”处理
jinan200711 2018-05-17
  • 打赏
  • 举报
回复
try{} cache{} 逮不到异常么
chaoyue0726 2018-05-16
  • 打赏
  • 举报
回复
做一个监控USB接口的监控线程 当有usb断开时检测是不是你正在用的设备,修改标志位 在写数据的代码那判断,然后提示退出。
赵4老师 2018-05-08
  • 打赏
  • 举报
回复
不要企图优雅的结束(因为这是不可能办到的) 而要在烂的不能再烂的摊子上也能重整河山!
待续_1006 2018-05-08
  • 打赏
  • 举报
回复
开一个专门写的线程,加上异常判断
zgl7903 2018-05-08
  • 打赏
  • 举报
回复
CFile 读写使用 try catch 捕捉 CFileException
fandh 2018-05-08
  • 打赏
  • 举报
回复
可以先写到其他地方,非SD卡,然后每次写完,再做一次拷贝文件,在拷贝前判断SD卡的路径是否是有效的,如果无效,做无效处理,有效的话,直接拷贝一下。
qq_34378196 2018-05-08
  • 打赏
  • 举报
回复
使用CFile 加上 try catch 捕捉 CFileException,试过了,行不通
qq_34378196 2018-05-07
  • 打赏
  • 举报
回复
我也有用过异常判断类的东西,但是结果是一样的,现在不知道怎么办,会不会是程序判断SD卡的状态之后,文件也打开了,但是写的过程中SD卡被拔出来了,结果就写不进去了?有没有这种可能?
qq_34378196 2018-05-07
  • 打赏
  • 举报
回复
我是用MFC的CFile类进行写的,写数据还能判断写入成功或者失败吗?那个定时器的超时处理时怎么回事,能详细说一下嘛?拜托了
csulizhang 2018-05-07
  • 打赏
  • 举报
回复
你别把写数据的过程放在主线程里面,每次写之前做好异常检查再写,写的过程中做个定时器做超时处理
smwhotjay 2018-05-07
  • 打赏
  • 举报
回复
死机是你的异常处理不到位。 考虑各种可能出现的异常。
白色一大坨 2018-05-07
  • 打赏
  • 举报
回复
写时候接口的返回有进行判断吗?可以根据写数据的返回接口判断,如果写失败多少次,就返回错误。 不过不了解你具体用的什么接口,不敢断言。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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