rename() 原型
int rename( const char *oldname, const char *newname );
rename()
函数接受两个参数:oldname、newname,并返回一个整数值。它将由 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