C++ rename()

rename() Prototype

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

The rename() function takes a two arguments: oldname, newname and returns an integer value. It renames the file represented by the string pointed to by oldname to the string pointed to by newname.

It is defined in <cstdio> header file.

rename() Parameters

  • oldname: Pointer to the string containing the old name of the file along with the path to rename.
  • newname: Pointer to the string containing the new name of the file along with the path.

rename() Return value

The rename() function returns:

  • Zero if the file is successfully renamed.
  • Non zero if error occurs.

Example 1: How rename() function works

#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;
}

When you run the program, the output will be:

  • If the file is renamed successfully:
    File renamed successfully
  • If the file is not present:
    Error renaming file: No such file or directory

The rename() function can also be used to move a file to a different location. This can be done by providing a different path for new name of the file.

Example 2: rename() function to move a file

#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;
}

When you run the program, the output will be:

  • If the file is moved successfully:
    File moved successfully
  • If the file is not present:
    Error moving file: No such file or directory
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community