📜  C++ rename()(1)

📅  最后修改于: 2023-12-03 14:59:45.250000             🧑  作者: Mango

C++函数介绍:rename()

函数功能

rename()函数用于将一个文件重命名或将其移动到另一个目录中。

函数原型
int rename(const char* oldname, const char* newname);
  • oldname:旧的文件名或路径。
  • newname:新的文件名或路径。
函数返回值
  • 成功:返回0。
  • 失败:返回-1,并设置errno为以下值之一:
    • EACCES:受保护的文件夹,或者权限不足。
    • ENAMETOOLONG:文件名过长。
    • ENOENT:旧文件不存在。
    • EPERM:文件系统不支持重命名。
函数示例
#include <iostream>
#include <cstdio>

int main()
{
    const char* oldname = "test.txt";
    const char* newname = "newTest.txt";
    int result = rename(oldname, newname);
    
    if (result == 0)
    {
        std::cout << "文件重命名成功!" << std::endl;
    }
    else
    {
        std::perror("文件重命名失败");
    }
    
    return 0;
}
注意事项
  1. 不能将文件移动到另一个文件系统中,否则会出现EPERM错误。
  2. 如果新的文件名已经存在,rename()函数将删除现有文件并将旧文件名更改为新文件名。
  3. 使用rename()函数时要小心,因为它将直接更改文件名或移动文件到另一个目录中,而没有任何提示或确认窗口。