C 库函数 - rename()
rename() 是 C 标准库中用于重命名文件或目录的函数。
rename() 在 <stdio.h> 头文件中定义。
C 库函数 int rename(const char *old_filename, const char *new_filename) 把 old_filename 所指向的文件名改为 new_filename。
声明
下面是 rename() 函数的声明。
int rename(const char *old_filename, const char *new_filename)
参数
- old_filename -- 原始文件名(包含路径时需提供完整路径)。
- new_filename -- new_filename:新文件名(同样可以包含路径)。
返回值
- 0 :执行成功(文件/目录重命名成功)。
- 非 0 :执行失败(常见错误原因有权限不足、文件不存在、目标已存在等)。
使用注意
文件必须存在,否则会返回错误。
如果目标文件 new_filename 已经存在,不同系统的处理方式可能不同:
- 在大多数 Unix/Linux 上,rename() 会 直接覆盖 目标文件。
- 在 Windows 上,若目标文件存在,rename() 会 失败。
不能跨不同的挂载点(分区/设备)重命名。
实例
下面的实例演示了 rename() 函数的用法。
实例
#include <stdio.h>
int main () {
int ret;
char oldname[] = "file.txt";
char newname[] = "newfile.txt";
ret = rename(oldname, newname);
if(ret == 0) {
printf("文件重命名成功");
} else {
printf("错误:不能重命名该文件");
}
return(0);
}
int main () {
int ret;
char oldname[] = "file.txt";
char newname[] = "newfile.txt";
ret = rename(oldname, newname);
if(ret == 0) {
printf("文件重命名成功");
} else {
printf("错误:不能重命名该文件");
}
return(0);
}
假设我们有一个文本文件 file.txt,它的内容如下。我们将使用上面的程序来重命名该文件。让我们编译并运行上面的程序,这将生成下面的消息,且文件被重命名为 newfile.txt 文件。
文件重命名成功
点我分享笔记