如何在不使用标准重命名功能的情况下以编程方式在unix平台上重命名文件?
答案 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)
调用此系统调用。