Dando continuidade ao nosso Curso de Programação C, na aula de hoje, finalizando esta parte sobre arquivos em C, vamos aprender como remover um arquivo com a função remove().
As vezes, tão importante quanto saber criar um arquivo é saber como remover / excluir / apagar / deletar (ou o nome que você preferir rsrsrs) um arquivo. Isso pode ser necessário especialmente em processos de atualizações, excluindo arquivos auxiliares ou desatualizados / antigos.
Para deletar um arquivo na linguagem C é muito simples. Basta utilizar a função remove(). Esta função recebe um único parâmetro, o nome do arquivo que queremos deletar, e retorna 0 caso consiga deletar o arquivo e -1 caso contrário.
Observe que a função remove não recebe o ponteiro para o arquivo, mas o nome do arquivo. Caso o arquivo não esteja na pasta raiz do projeto, pode ser informado todo o caminho até o arquivo que se deseja remover.
Há duas situações muito comuns que geram erro ao tentar remover um arquivo (retorno -1): caminho / nome incorreto; e não ter permissão para executar a operação de remoção do arquivo.
Código de exemplo completo para remover um arquivo em C com a função remove
/*
Como remover / apagar um arquivo com a função remove?
Código escrito por Wagner Gaspar
Julho de 2021
*/
#include <stdio.h>
#include <stdlib.h>
int main(){
// nome do arquivo
char nome[] = {"agenda.txt"};
// tenta abrir o arquivo para escrita
FILE *file = fopen(nome, "w");
if(file){
printf("\nArquivo aberto com sucesso!\n");
fclose(file);
// tenta remover o arquivo agenda.txt
printf("\nRetorno: %d\n", remove(nome));
}
else{
printf("\nErro ao abrir o arquivo!\n");
// Ao tentar remover um arquivo que não existe a função retorna o valor -1
printf("\nRetorno: %d\n", remove(nome));
}
return 0;
}
