int rename (const char *caminho_antigo, const char *caminho_novo);
Renomeia o arquivo ou diretório especificado pelo parâmetro caminho_antigo
para o nome caminho_novo
.
Se o caminho_antigo
e o caminho_novo
estão localizados em diretórios diferentes, o arquivo é
movido para o novo diretório, se suportado pelo sistema.
Em caso de sucesso, a função rename
é atômica. Um programa nunca verá tanto o arquivo caminho_antigo
quanto o caminho_novo
em existência. O programa veria apenas o caminho_antigo
ou o caminho_novo
,
não apenas um deles ou, até, nenhum deles.
Se o caminho_novo
especifica um caminho já existente, a função poderá ou falhar ou sobreescrever o caminho
existente, dependendo da implementação da biblioteca padrão utilizada.
caminho_antigo - Caminho a ser renomeado. Pode ser tanto um arquivo quanto um diretório.
caminho_novo - Caminho destino.
Se o arquivo foi renomeado com sucesso, retorna 0.
Em caso de erro, a função retorna um número inteiro não-zero.
#include <stdio.h>
int main() {
// caminhos no formato do sistema operacional Windows
const char* caminho = "C:\\arquivo.txt";
const char* caminho_novo = "C:\\arq.txt";
if(rename(caminho, caminho_novo) == 0) {
printf("Arquivo %s renomeado para %s com sucesso!\n", caminho, caminho_novo);
} else {
fprintf(stdderr, "Não foi possível renomear o arquivo %s.", caminho);
return 1;
}
return 0;
}
remove - remove um arquivo função