Ir ao conteúdo
  • Cadastre-se
DAVIFN

Fprintf que remova characteres?

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×