我试图删除C程序中的文件,但是当我使用remove()函数时,它会完全删除文件而不将其发送到垃圾箱。如何将文件删除到垃圾箱?
提前致谢!
答案 0 :(得分:0)
对于Windows,请SHFileOperation
与FOF_ALLOWUNDO
一起使用。
http://msdn.microsoft.com/en-us/library/bb762164.aspx
在Mac OS X上,您必须从FSMoveObjectToTrashSync
致电CoreServices
(或其异步朋友)。
答案 1 :(得分:0)
在linux中我会做...
system("mv your_file.txt /home/username/.local/share/Trash/");
答案 2 :(得分:0)
在Mac OS上,您应该使用NSWorkspace
中的recycleURLs:completionHandler:
方法。
答案 3 :(得分:0)
我知道这是一个古老的问题,但是自发布以来,还存在其他解决方案。
几乎每个操作系统都提供了一个API,可以通过将文件移至回收站来执行软删除。不幸的是,没有统一的规范来说明垃圾箱/回收箱的工作方式。在Windows上,您可以使用IFileOperation
,macOS具有NSFileManager
,在Linux和BSD上,您可以使用实现FreeDesktop.org trash specification的工具,例如gio trash
(GNOME),{{ 1}}(KDE),kioclient5 move
或自己实现。
另一种解决方案是使用跨平台库,该库允许将文件和目录移动到libtrashcan之类的垃圾箱/回收箱中。因为您只使用一个函数调用,而不必担心平台特定的细节,所以这简化了开发。
答案 4 :(得分:-1)
如果你在Windows上试试这个。
打开命令提示符(DOS窗口)并键入
cd \$RECYCLE.BIN
dir \a
您将获得计算机中所有用户的所有垃圾清单。
在您的程序中将文件移动到正确的垃圾箱。