Namespaces
Variants

rename

From cppreference.net
< c ‎ | io
Definido en el encabezado <stdio.h>
int rename ( const char * old_filename, const char * new_filename ) ;

Cambia el nombre de archivo de un archivo. El archivo se identifica por la cadena de caracteres apuntada por old_filename . El nuevo nombre de archivo se identifica por la cadena de caracteres apuntada por new_filename .

Si new_filename existe, el comportamiento está definido por la implementación.

Contenidos

Parámetros

old_filename - puntero a una cadena terminada en nulo que contiene la ruta que identifica el archivo a renombrar
new_filename - puntero a una cadena terminada en nulo que contiene la nueva ruta del archivo

Valor de retorno

0 en caso de éxito o valor distinto de cero en caso de error.

Notas

POSIX especifica muchos detalles adicionales sobre la semántica de esta función.

Ejemplo

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("from.txt", "w"); // crear archivo "from.txt"
    if (!fp)
    {
        perror("from.txt");
        return EXIT_FAILURE;
    }
    fputc('a', fp); // escribir en "from.txt"
    fclose(fp);
    int rc = rename("from.txt", "to.txt");
    if (rc)
    {
        perror("rename");
        return EXIT_FAILURE;
    }
    fp = fopen("to.txt", "r");
    if(!fp)
    {
        perror("to.txt");
        return EXIT_FAILURE;
    }
    printf("%c\n", fgetc(fp)); // leer desde "to.txt"
    fclose(fp);
    return EXIT_SUCCESS;
}

Salida posible:

a

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.21.4.2 La función rename (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.21.4.2 La función rename (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.21.4.2 La función rename (p: 302-303)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.19.4.2 La función rename (p: 268-269)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.9.4.2 La función rename

Véase también

elimina un archivo
(función)