Função rename

Sintaxe:

int rename (const char * source, const char * target);


A função rename faz com que o arquivo indicado no primeiro parâmetro tenha o seu nome trocado pelo nome informado no segundo parâmetro.

Caso os nomes se referenciem ao mesmo diretório está sendo realizado uma troca de nomes de arquivos. Caso o diretório origem seja diferente do diretório destino está sendo realizado uma movimentação de um arquivo de um diretório para o outro, com o mesmo ou outro nome. Caso o arquivo indicado no segundo parâmetro já exista no sistema de arquivo ele é removido antes da troca de nomes. Consulte o manual do sistema para ver o comando mv do Unix/Linux.

Os arquivos de origem e destino devem ser do mesmo tipo e devem residir no mesmo sistema de arquivos. Caso o arquivo de origem seja um link simbólico, o sistema irá trocar o nome do link simbólico e não do arquivo apontado pelo mesmo.

Veja o exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <fcntl.h>
 
int main (int argc, char  *argv[])
{
   if( argc < 3 )
   {
      fprintf(stderr, "Obrigatório informar os nomes dos arquivos\n");
      exit(1);
   }
 
   if (rename (argv[1], argv[2]) < 0)
   {
      perror (argv[0]);
      exit (9);
   }
   return 0;
}

Marcos Laureano 2008/04/25 07:13