Ir ao conteúdo
  • Cadastre-se

C Como excluir um registro do arquivo .bin em C?


ytalopaulo_

Posts recomendados

Pesquisei na internet e encontrei duas maneiras de excluir um registro do arquivo:

1º  localizando o registro que vai ser excluído e escrever o ultimo registro do arquivo em cima dele...

2º Copia todo o registro do arquivo ( sem o registro que vai ser excluído ),  para um novo arquivo, depois excluir o antigo arquivo e renomeia o novo como o nome do arquivo "padrão" ....

 

Me corrijam se eu estiver errado, mas foi esses dois métodos que encontrei na internet.

No livro disponibilizado pelo meu professor mostrar uma maneira de excluir  colocando valores nulo no lugar do registro... (Não entendi direito kk).

 

Gostaria de saber como ficaria o código dessa duas maneiras (foco pra 2º) ou se tem outro meio de excluir um registro do arquivo?

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Eu diria que o segundo é o mais fácil de fazer, não sei se é o melhor, mas basicamente abre o arquivo original em modo de leitura, e abre um novo arquivo em modo de escrita, aí lê cada registro do arquivo original, e se não for o registro que deseja-se excluir o programa escreve o registro no novo arquivo, assim só o registro excluído não é escrito no novo arquivo.

 

Uma vez concluído esse processo de cópia de todos registros (menos o excluído) e após usar fclose() para fechar os 2 arquivos abertos, basta usar a função remove() para excluir o arquivo original, e depois a função rename() para renomear o novo arquivo para o nome do original, e pronto exclusão do registro concluída.

 

remove("arquivo.bin");
rename("novoarquivo.bin", "arquivo.bin");

(remove e rename são da biblioteca stdio.h)

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...