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