Tratamento de arquivo txt

31/10/2018

0

Galera boa tarde. estou com um probleminha em um programinha que estou fazendo e precisava de ajuda, vamos lá, para vocês entenderem melhor irei explicar abaixo o que tenho que fazer.

Recebo um arquivo .TXT e crio um algoritmo para transformar o conteúdo desse documento txt em outro txt mas com alguns cuidados.

Existem 18 parametros cada um desses 18 parametros existem linhas especificas, segundo o layout no parametro 1 eu tenho um tamanho maximo até 40, não significa que serão 40 poderá ser menos. Essa regra se aplica aos outros 17...

O arquivo irá vir em ; (ponto e virgula) então tenho que criar um algoritmo para localizar esse ; e substituir pelo | (pipe).



Até então consegui Ler o arquivo e escreve-lo, mas na hora de colocar a lógica da substituição do ; (ponto e virgula) pelo (|) pipe não estou conseguindo formular. Segue meu código abaixo:



#include <iostream>
#include <fstream>
#include <locale>

using namespace std;

Declan(){


ifstream arquivo;
ofstream arquivox2;

arquivo.open("matheus.txt"); // abre arquivo p leitura
arquivox2.open("arquivox2.txt"); // abre arquivo p escrita



string linha;


if (arquivo.is_open() && arquivox2.is_open() )
{
while (getline(arquivo,linha))
{
cout<< linha;

if(linha = ";")
{
arquivox2 <<linha <<endl;
}
}
}
}

int main (){


Declan();


return 0;
}



Eu travo na estrutura de decisão onde eu quero que: o programa esteja lendo o arquivo linha por linha, quando ele encontrar o ;(ponto e virgula) ele troque aquele pelo (|) pipe e continue lendo até achar novamente o (;) ponto e virgula trocando pelo (|) pipe e assim até acabar a leitura do arquivo.



OBS: O delimitador de caracter nao é mt importante agr, mas a substituição do ; pelo | é fundamental para eu conseguir dar continuidade.
Matheus

Matheus

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar