将文本文件复制到USB记忆棒

问题描述 投票:1回答:1

当我在Raspberry Pi 3中使用此行将文本文件复制到USB闪存时;

if (QFile::copy(LastDayWaitListSource, LastDayWaitListTarget)) {
    qDebug() << "Copy OK";
}

复制OK出现在调试屏幕中。

然后从Raspberry Pi中删除USB闪存,并插入Windows 10笔记本电脑以查看文本文件.USB闪存中没有文本文件。

然后我用一个不同的过程重复相同的过程。

复制文本文件后,我在Linux /media/pi/USB_Stick_Dir中打开了USB闪存目录,以查看复制的文本文件。然后我看到了复制的文本文件。然后我从Raspberry Pi中删除了USB闪存,然后插入到Windows 10笔记本电脑中,这次我在Windows中看到了复制的文本文件。

为什么会这样?

c++ qt operating-system
1个回答
2
投票

问题是,在从Linux系统中删除USB驱动器之前,不要卸载它。尝试:

sudo umount /media/pi/USB_Stick_Dir

编辑:您也可以在Qt程序中执行此操作,为此您需要具有CAP_SYS_ADMIN权限。

CAP_SYS_ADMIN功能允许进程执行各种管理任务,例如调用mount()and umount()。您可以执行以下操作来卸载程序中的驱动器:

int res = umount("/media/pi/USB_Stick_Dir")
if (!res) {
    qDebug() << "Device unmounted successfuly";
} 
© www.soinside.com 2019 - 2024. All rights reserved.