stdio.h
Función rename ANSI C
int rename(const char *viejo, const char *nuevo);
El nombre del fichero apuntado por la cadena viejo será conocido como el nombre apuntado por la cadena nuevo. Cualquier intento posterior a abrir el fichero usando ese nombre fallará, al menos que se cree de nuevo. Si el fichero nombrado por nuevo ya existe anteriormente a la llamada de rename, el comportamiento de la función está definido según la implementación del compilador.
Valor de retorno:
La función retorna cero si la operación fue realizada con éxito. Si falla, entonces retorna un valor cualquiera excepto cero; en este caso el fichero sigue siendo conocido con el nombre viejo.
Ejemplo:
#include <stdio.h>
int main()
{
char viejo[18] = "fichero_viejo.tmp", nuevo[18] = "fichero_nuevo.tmp";
printf( "fichero viejo: %s", viejo );
if( rename(viejo, nuevo) == 0 ) printf( ", renombrado: %s\n", nuevo );
else printf( "\nNo pudo ser renombrado\n" );
return 0;
}