C++官网参考链接:https://cplusplus.com/reference/cstdio/rename/
函数
<cstdio>
rename
int rename ( const char * oldname, const char * newname );
重命名文件
将oldname指定的文件或目录的名称更改为newname。
这是直接对文件执行的操作;该操作不涉及任何流。
如果oldname和newname指定不同的路径,并且系统支持这一点,则文件将被移动到新的位置。
如果newname命名了一个现有的文件,函数可能失败或覆盖现有的文件,这取决于特定的系统和库实现。
应提供适当的文件访问权限。
形参
oldname
包含要重命名和/或移动的现有文件名称的C字符串。
它的值应该遵循运行环境的文件名规范,并且可以包含一个路径(如果系统支持)。
newname
包含文件的新名称的C字符串。
它的值应该遵循运行环境的文件名规范,并且可以包含一个路径(如果系统支持)。
返回值
如果文件成功重命名,则返回0值。
如果失败,则返回非0值。
在大多数库实现中,errno变量在失败时也被设置为特定于系统的错误代码。
用例
/* rename example */
#include <stdio.h>
int main ()
{
int result;
char oldname[] ="oldname.txt";
char newname[] ="newname.txt";
result= rename( oldname , newname );
if ( result == 0 )
puts ( "File successfully renamed" );
else
perror( "Error renaming file" );
return 0;
}
输出:(oldname.txt文件不存在的情况)
输出:(oldname.txt文件存在的情况)
如果文件oldname.txt可以成功重命名为newname.txt,下面的消息将被写到stdout:
File successfully renamed
否则,类似的消息将被写入stderr:
Error renaming file: Permission denied