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";
	
	/*	Deletes the file if exists */
	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";
	
	/*	Deletes the file if exists */
	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
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战