如题,我在arm linux中将数据保存到外部sd卡,保存成功后(操作无返回错误),断电,检查sd卡数据。
发现sd卡容量发生了变化,但是sd卡中并无文件。。。隐藏文件也没有。。。
操作姿势如下:
fopen()
fwrite()
fflush()
fd = fileno()
fsync(fd)
断电
没有找出什么问题,我自己尝试了下调用sync(),发现还是比较可靠,能解决问题,只是sync操作比较费时。
但是为什么fsync无效啊?? 教科书不都是这么用的吗?
离线
fflush(文件句柄)
这个试一试。
我的里面有,然并卵...
离线
我使用的是c库的sync函数,不是system("sync"), 不过应该是大同小异。
用的ti的达芬奇,内核有点老,2.6.37的,不知道有没有关系。
离线