如何重命名文件?

时间:2009-10-10 08:01:26

标签: c linux unix

如何在不使用标准重命名功能的情况下以编程方式在unix平台上重命名文件?

2 个答案:

答案 0 :(得分:38)

重命名文件的历史方法是使用link(2)创建指向同一文件的新硬链接,然后使用unlink(2)删除旧名称。

答案 1 :(得分:4)

以下是一个有点讽刺的解决方案,它本身不使用标准rename(2)系统调用:

#include <stdlib.h>

if (system("mv file1 file2") != 0)
    perror("system");

这是rename(2)的间接用法,mv(1)调用此系统调用。