Tratamento de arquivo txt
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.
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
Curtidas 0