C++ Reference: Standard C++ Library reference: C Library: cstdio: rename

C++官网参考链接:https://cplusplus.com/reference/cstdio/rename/

函数 

rename
int rename ( const char * oldname, const char * newname );
重命名文件
将oldname指定的文件或目录的名称更改为newname。
这是直接对文件执行的操作;该操作不涉及任何流。
如果oldname和newname指定不同的路径,并且系统支持这一点,则文件将被移动到新的位置。
如果newname命名了一个现有的文件,函数可能失败或覆盖现有的文件,这取决于特定的系统和库实现。
应提供适当的文件访问权限。

形参
oldname
包含要重命名和/或移动的现有文件名称的C字符串。
它的值应该遵循运行环境的文件名规范,并且可以包含一个路径(如果系统支持)。
newname
包含文件的新名称的C字符串。
它的值应该遵循运行环境的文件名规范,并且可以包含一个路径(如果系统支持)。

返回值
如果文件成功重命名,则返回0值。
如果失败,则返回非0值。
在大多数库实现中,errno变量在失败时也被设置为特定于系统的错误代码。

用例
/* rename example */
#include

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文件不存在的情况)

C++ Reference: Standard C++ Library reference: C Library: cstdio: rename_第1张图片

输出: (oldname.txt文件存在的情况)

C++ Reference: Standard C++ Library reference: C Library: cstdio: rename_第2张图片

/*你可以尝试修改oldname.txt的文件权限,看看程序的运行情况。*/

如果文件oldname.txt可以成功重命名为newname.txt,下面的消息将被写到stdout:
File successfully renamed
否则,类似的消息将被写入stderr:
Error renaming file: Permission denied

另请参考
remove    Remove file (function) (删除文件(函数)) 

你可能感兴趣的:(C++,Reference,C,Library,c++,c语言,重命名文件,rename)