Mac 上文件删除有时会失败

发布于 2024-10-11 18:34:39 字数 518 浏览 3 评论 0原文

技术问答 1497这个问题(其答案从技术说明中复制)表明,当得到<来自 FSDeleteObject 的 code>fBsyErr,正确的解决方法是在 10.5+ 上调用 FSUnlinkObject

FSDeleteObjectFSUnlinkObject 这两个 API 之间的技术差异是什么 (除了注意到 FSUnlinkObject 没有出现在文档中)?为什么unlink应该作为后备API而不是主要API?

Technical Q&A 1497
and this question (whose answer copied from the tech note) indicate that, when getting fBsyErr from FSDeleteObject, the proper workaround is to call FSUnlinkObject on 10.5+.

What is the technical difference between the two APIs FSDeleteObject and FSUnlinkObject
(other than noting that FSUnlinkObject does not appear in the documentation)? Why should unlink be the fallback and not the primary API?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空心空情空意 2024-10-18 18:34:39

我猜想 FSDeleteObject 首先出现是因为它延续了 Mac OS 与 Unix 合并之前很久就存在的一系列文件删除功能,而取消文件链接是一个 Unix 概念。

I'd guess that FSDeleteObject came first because it continues a line of file-deletion functions that existed long before the Mac OS merged with Unix, whereas unlinking a file is a Unix concept.

嗳卜坏 2024-10-18 18:34:39

您链接的苹果文档非常清楚地解释了其中的差异。 FSUnlinkObject 与 unlink() 具有相同的语义 - 允许删除打开的文件。 FSDeleteObject 不允许删除打开的文件,并在您尝试这样做时返回该错误代码。

The Apple document you linked explains the difference quite clearly. FSUnlinkObject has the same semantics as unlink() - deleting open files is allowed. FSDeleteObject does not allow deleting open files and returns that error code when you attempt to do so.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文