【发布时间】:2020-11-05 14:45:44
【问题描述】:
rename() 是否将文件复制到另一个文件中,然后删除原始文件?还是有其他的方法?
我在互联网上找不到任何可以解释这一点的东西。
【问题讨论】:
-
注意
rename()是一个系统调用,所以很大程度上取决于操作系统。 -
不,这不是我们在 C 中所做的经典复制/交换。文件重命名只会调用系统函数/中断。
rename() 是否将文件复制到另一个文件中,然后删除原始文件?还是有其他的方法?
我在互联网上找不到任何可以解释这一点的东西。
【问题讨论】:
rename()是一个系统调用,所以很大程度上取决于操作系统。
确切的机制完全取决于所使用的操作系统和文件系统,但通常文件名存储在目录中。因此,通常更改文件名涉及修改目录列表中的名称(或者如果移动文件,则删除目录条目并将其添加到树中的其他位置)。
【讨论】: