![](/img/trans.png)
[英]Writing files to USB stick causes file corruption/lockup on surprise removal
[英]Copying Text File to USB Stick
当我在Raspberry Pi 3中使用此行将文本文件复制到USB闪存时;
if (QFile::copy(LastDayWaitListSource, LastDayWaitListTarget)) {
qDebug() << "Copy OK";
}
复制确定出现在调试屏幕中。
然后从Raspberry Pi中移除USB闪存,然后插入Windows 10笔记本电脑以查看文本文件.USB闪存中没有文本文件。
然后,我用一个不同的过程重复相同的过程。
复制文本文件后,我在Linux /media/pi/USB_Stick_Dir
打开USB闪存目录,以查看复制的文本文件。 我看到了复制的文本文件。然后,我从Raspberry Pi上删除了USB闪存,然后插入Windows 10笔记本电脑,这一次,我也在Windows中看到了复制的文本文件。
为什么会这样呢?
问题是您没有从Linux系统中删除USB驱动器之前就将其卸载。 尝试:
sudo umount /media/pi/USB_Stick_Dir
编辑:您也可以在Qt程序中执行此操作,为此,您需要具有CAP_SYS_ADMIN权限。
CAP_SYS_ADMIN功能允许进程执行各种管理任务,例如调用mount()
和umount()
。 您可以执行以下操作在程序中卸载驱动器:
int res = umount("/media/pi/USB_Stick_Dir")
if (!res) {
qDebug() << "Device unmounted successfuly";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.