跳到主要内容

C++ rename() 重命名文件函数

rename() 函数原型

int rename( const char *oldname, const char *newname );

rename() 函数接受两个参数:oldnamenewname,并返回一个整数值。它将由 oldname 指向的字符串所表示的文件重命名为 newname 指向的字符串。

它定义在 <cstdio> 头文件中。

rename() 参数

  • oldname:指向包含文件旧名称及其路径的字符串的指针,用于重命名。
  • newname:指向包含文件新名称及其路径的字符串的指针。

rename() 返回值

rename() 函数返回:

  • 如果文件成功重命名,则返回零。
  • 如果发生错误,则返回非零值。

示例 1:rename() 函数如何工作

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
char oldname[] = "file_old.txt";
char newname[] = "file_new.txt";

/* 删除存在的文件 */
if (rename(oldname, newname) != 0)
perror("Error renaming file");
else
cout << "File renamed successfully";

return 0;
}

当你运行程序时,输出将是:

  • 如果文件成功重命名:
File renamed successfully
  • 如果文件不存在:
Error renaming file: No such file or directory

rename() 函数也可用于将文件移动到不同位置。这可以通过为文件的新名称提供不同的路径来完成。

示例 2:rename() 函数用于移动文件

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
char oldname[] = "C:\\Users\\file_old.txt";
char newname[] = "C:\\Users\\New Folder\\file_new.txt";

/* 删除存在的文件 */
if (rename(oldname, newname) != 0)
perror("Error moving file");
else
cout << "File moved successfully";

return 0;
}

当你运行程序时,输出将是:

  • 如果文件成功移动:
File moved successfully
  • 如果文件不存在:
Error moving file: No such file or directory