Ir ao conteúdo
  • Cadastre-se

Fprintf que remova characteres?


DAVIFN

Posts recomendados

Pessoal, sei que existe o comando fprintf() para gravar characteres em um determinado arquivo, mas, existe um oposto ao fprintf para "tirar" characteres de algum arquivo? O que quero é um comando pra tirar N characteres, vamos supor, 100 characteres, no final do meu arquivo.

Obrigado desde já!

EDIT: Pessoal, consegui achar o que quero (foi difícil, tive que ver um algoritmo em inglês para então montar) e, se você entrou aqui procurando exatamente esta minha dúvida, segue abaixo o código:


// Aqui o que procurava, pessoal! Abaixo as explicações:
HANDLE hFile=CreateFile("teste.txt",GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_ALWAYS,0, 0); // Isso cria uma "HANDLE", você só deve trocar o "teste.txt" para uma char* com o nome do seu arquivo.
SetFilePointer(hFile,2,0,FILE_BEGIN); // Mude o "2" para o número de novos characteres que você quer que seu arquivo tenha, se você quiser tirar alguns, vai ter que usar um comando para conseguir ver a quantidade de bytes que seu arquivo tem e subtrair da quantidade o número que quer tirar, mas isto é fácil...
SetEndOfFile(hFile); // Aqui é a função que tira os bytes do arquivo até o número especificado acima, no caso, ele deixará o arquivo teste.txt apenas com 2 bytes.
CloseHandle(hFile); // Encerra a HANDLE, como um fclose

//"Taí" o código pra quem precisar.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...