gpt4 book ai didi

c - 在fuse文件系统中实现重命名

转载 作者:行者123 更新时间:2023-11-30 15:42:13 25 4
gpt4 key购买 nike

我正在尝试使用熔断器实现内存中文件系统。重命名函数接受“from”和“to”参数。

当我尝试在 bash 上执行此操作时,mv 文件1 文件2,它内部调用重命名函数(我使用 -d 选项来检查它)。

当我尝试在 GUI 中重命名该函数时,它再次调用重命名函数。

但是如果 file2 是一个已经存在的文件,mv 命令会覆盖它,而 GUI 会阻止我重命名该文件。我如何强制执行此约束,因为在内部这两个操作都毫无区别地调用重命名函数。

最佳答案

rename 函数通过删除旧名称自动替换目标文件。这就是它的全部要点,如果做得不正确,各种事情都会严重破坏。对于想要防止在另一个文件之上重命名的应用程序,它们必须首先使用 link 函数(如果目标存在,该函数将会失败),然后unlink 旧名称如果链接成功。

关于c - 在fuse文件系统中实现重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com