Ir para conteúdo
Fórum Script Brasil
  • 0

APAGAR ÚLTIMA LINHA De ARQUIVO BINÁRIO EM C


Guest Nss

Pergunta

Quero apagar a última linha do arquivo binário usando a linguagem C.

Por exemplo em eu arquivo com cem posições

1[a] 2...............100[adf] Eu quero apagar a posição 2. Ao invés de mover todos os dados que vem depois de 2 uma casa, quero copiar o conteúdo da posição 100 para a posição 2 e apagar tudo na posição 100, de forma que da próxima vez que eu abra o arquivo no modo "ab" o cursor esteja posicionado na posição 100 para escrita. Mas não achei função que faça isso, as soluções que eu vi movem todo o arquivo, mas isso consome muita memória e muito tempo (quando maior o tamanho do arquivo maior o tempo de acesso). Sugestões?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Ao abrir um arquivo para append o ponteiro do arquivo é direcionado ao final do arquivo, independentemente se ele contém dados válidos para você ou não. O que deve ser feito é truncar o arquivo ao remover uma posição e não apenas escrever algum valor para "limpar" os dados antigos.

Eu não me lembro como fazer isso agora mas este é o caminho! :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...