aula 222

Como remover / deletar um arquivo com a função remove?

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;
}

Deixe um comentário

6 + 17 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.