Ir ao conteúdo

C++ Como deleta o conteúdo de um arquivo txt em c++


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
	char mensagem[51];
	ofstream ARQTXT;
	ARQTXT.open("ARQTXT.txt", ios_base::app);// procurar o fim do fluxo antes de cada gravação
	cout<<"Informe uma mensagem com até 50 caracteres"<<endl;
	cout<<"--> ";
	cin.getline(mensagem, sizeof(mensagem));
	ARQTXT<<mensagem<<endl;
	ARQTXT.close();
}

Tipo, esse programa cria um arquivo de texto que possui no máximo 50 caracteres, eu queria saber como poderia deletar tal linha desse texto.

  • Curtir 1
  • Solução
Postado

@Khaled M    você quer deletar apenas uma linha do arquivo ou deletar tudo que está no arquivo ?  pois para deletar  todo o arquivo você pode usar a função remove , que irá remover todo o arquivo e depois você cria o arquivo novamente e ele estará vazio , assim  :

remove("ARQTXT.txt");  /* remove o arquivo */
ARQTXT.open("ARQTXT.txt", ios_base::app);/* cria o arquivo novamente vazio */

mas para deletar apenas algum caractere ou mesmo uma linha do arquivo você pode criar um arquivo auxiliar e abrir o arquivo onde você quer deletar os dados e ir lendo o arquivo e comparando com o que você quer deletar e se for diferente você coloca esse dado no arquivo auxiliar , assim no final o arquivo auxiliar conterá todos os dados menos os dados que você quer deletar , depois use a função remove para deletar o arquivo  , que nesse caso seria o ARQTXT.txt , e em seguida renomeie o arquivo auxiliar com o nome do primeiro arquivo , assim  :

ofstream ARQTXT;
ofstream aux;
ARQTXT.open("ARQTXT.txt", ios_base::app);
aux.open("auxiliar.txt", ios_base::app);
      .
    deletar os dados
      .

fclose(aux);
fclose(ARQTXT);
remove("ARQTXT.txt");
rename("auxiliar.txt","ARQTXT.txt");

mas antes de remover e renomear precisa fechar os dois arquivos , assim você terá seu arquivo original contendo todos os dados menos os que você quis deletar .

  • Obrigado 1

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!