Namespaces
Variants
Actions

rename

From cppreference.com
< c‎ | io
 
 
 
Defined in header <stdio.h>
int rename(constchar* old_filename, constchar* new_filename );

Changes the filename of a file. The file is identified by character string pointed to by old_filename. The new filename is identified by character string pointed to by new_filename.

If new_filename exists, the behavior is implementation-defined.

Contents

[edit]Parameters

old_filename - pointer to a null-terminated string containing the path identifying the file to rename
new_filename - pointer to a null-terminated string containing the new path of the file

[edit]Return value

0 upon success or non-zero value on error.

[edit]Notes

POSIX specifies many additional details on the semantics of this function.

[edit]Example

#include <stdio.h>#include <stdlib.h>   int main(void){FILE* fp =fopen("from.txt", "w");// create file "from.txt"if(!fp){perror("from.txt");returnEXIT_FAILURE;}fputc('a', fp);// write to "from.txt"fclose(fp);   int rc = rename("from.txt", "to.txt");if(rc){perror("rename");returnEXIT_FAILURE;}   fp =fopen("to.txt", "r");if(!fp){perror("to.txt");returnEXIT_FAILURE;}printf("%c\n", fgetc(fp));// read from "to.txt"fclose(fp);   returnEXIT_SUCCESS;}

Possible output:

a

[edit]References

  • C23 standard (ISO/IEC 9899:2024):
  • 7.21.4.2 The rename function (p: TBD)
  • C17 standard (ISO/IEC 9899:2018):
  • 7.21.4.2 The rename function (p: TBD)
  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.4.2 The rename function (p: 302-303)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.4.2 The rename function (p: 268-269)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.4.2 The rename function

[edit]See also

erases a file
(function)[edit]
close