C 库 - rename() 函数



C 库函数 rename(const char *old_filename, const char *new_filename) 用于将由 old_filename 指定的文件名更改为 new_filename。

语法

以下是 C 库函数 rename() 的语法:

int rename(const char *old_filename, const char *new_filename);

参数

此函数接受两个参数:

  • old_filename:指向一个以 null 结尾的字符串的指针,该字符串指定要重命名的文件名。这是文件的当前名称。
  • new_filename:指向一个以 null 结尾的字符串的指针,该字符串指定文件的新名称。这是您想赋予文件的新名称。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

rename 函数返回整数或非整数的值

1. 0:如果操作成功。

2. 非零值:如果操作失败。确切的值可能会有所不同,但通常可以使用 errno 获取有关错误的更多信息。常见错误包括:

  • EACCES:权限被拒绝。
  • ENOENT:old_filename 指定的文件不存在。
  • EEXIST:new_filename 指定名称的文件已存在。
  • EINVAL:指定的名称无效。

示例 1:简单的重命名

此示例将名为 oldfile.txt 的文件重命名为 newfile.txt。

以下是 C 库 rename() 函数的示例。

#include <stdio.h> int main() { if (rename("oldfile.txt", "newfile.txt") == 0) { printf("File renamed successfully.\n"); } else { perror("Error renaming file"); } return 0; }

输出

以上代码产生以下结果:

File renamed successfully.

示例 2:带有错误处理的重命名

此示例尝试重命名一个不存在的文件,演示了错误处理和 errno 的用法。

#include <stdio.h> #include <errno.h> int main() { if (rename("nonexistentfile.txt", "newname.txt") != 0) { perror("Error renaming file"); printf("Error code: %d\n", errno); } else { printf("File renamed successfully.\n"); } return 0; }

输出

执行以上代码后,我们将得到以下结果:

Error renaming file: No such file or directory
Error code: 2
广告