Ir ao conteúdo
  • Cadastre-se
MatheusTITributos

C++ Como Ler tratar e salvar os dados sem inclusão manual

Recommended Posts

Galera bom dia !

Me chamo matheus e estou com muita dificuldade na solução de um algorítimo que foi imposto e designado para eu solucionar.

O que acontece, Eu tenho um arquivo .txt onde ele tem diversas informações.

Ex Real:

1201604/08/2017 11:37:31Todas                                   MTTT T06/07/201703/08/2017000000000000000000000000000000                                                  
2ANGRA DOS REIS                   0000000014
385178911J39164256000170VIA SAT COMERCIAL ELETRONICA LTDA ME                            NNS07/07/2017 08:28:33 DN          NNNNNNN000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000       000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000S
5SSSSN000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000
6                                                                JOSÉ JORGE MARQUES                                              24  33652762SIDNEI COSTA VIEIRA                                             24  33652762
383067241J29355260000242TRIUNFO LOGISTICA LTDA                                          NNS17/07/2017 16:20:05 DN          NNNNNNN000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000       000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000S
5NNSNN000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000
6                        wilson@wleme.com                        JORGE RODRIGUES DA SILVA                                        21  21788800WILSON ROBERTO LEME                                             21  21788800
378884096J11112293000204VALE DO CAFE AUTO POSTO LTDA                                    NRS17/07/2017 16:22:44 DN          SNSNNNN000000558482002000000000000000000000000000000000000914863662000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000558482002000000914863662000000000000000000000000000000000000000000000000000000000000000000000711192000000000000000000000000000000000000000000000000000355670468       000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000355670468S
4N00037000000000711192
5NNNNN000000087369776000000000000000000000000000000000000000000000N000000083505478000000000000000000000000000000000000000000000N000000074110649000000000000000000000000000000000000000000000N000000075302716000000000000000000000000000000000000000000000N000000068143708000000000000000000000000000000000000000000000N000000067633557000000000000000000000000000000000000000000000N000000074329043000000000000000000000000000000000000000000000N000000077872727000000000000000000000000000000000000000000000N000000075293488000000000000000000000000000000000000000000000N000000078980667000000000000000000000000000000000000000000000N000000063227581000000000000000000000000000000000000000000000N000000088383080000000000000000000000000000000000000000000000
6                                                                HAROLDO DA SILVA MANCEBO                                        24  24534614DANIEL MARIA DINIZ                                              24  24533886
385454455J00468285000190TRANZIRAN TRANSPORTES LTDA                                      NRS19/07/2017 11:01:58 DN          SNNSNNN000029414831790000000701696111000000000000000000044743461671000001941418951000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030116527901000046684880622000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040394000000001040394       000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040394N
4N00026000000001040394
379050008J11921635000148GB segurança ELETRONICA DE ANGRA LTDA                           NNS20/07/2017 16:17:50 DN          NNNNNNN000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000       000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000S
5SSSSN000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000N000000000000000000000000000000000000000000000000000000000000


o mesmo quer que eu faça um programa para ler esse conteúdo do arquivo txt a cima linha por linha e formate o mesmo gravando em um outro txt mas o formato é linha continua até o 2 que é o primeiro caracter


 

Resumindo é um programa para eu pegar um arquivo já pronto e transformar ele como demonstrado a cima salvando em outro txt. Só que estou encontrando muitas dificuldades pra isso, eu consigo ler o arquivo e criar o local para onde ele tem que salvar mas não consigo transformar esses dados e também não consigo armazenar esses dados no txt que eu criei.

 

MEU CÓDIGO:

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

using namespace std;

int main(){
    
setlocale(LC_ALL, "Portuguese");

ifstream arquivo;
ofstream arquivox;
string linha;

arquivo.open("Teste.txt");
if(arquivo.is_open()){
    while(getline(arquivo,linha))
    {
    cout<<linha;
    }
        
    arquivo.close();
    }else
    {
    cout<<"Não foi possivel abrir o arquivo"<<endl;
    }

arquivox.open("arquivox.txt",ios::app);

arquivox<<"";
arquivox.close();


return 0;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@MatheusTITributos Olá. Vamos por partes. Seu código para ler o arquivo está funcionado. Tem certeza q o arquivo está na mesma pasta do seu código (codigoTal.cpp)?

Vou passar o código referente a parte de ler o arquivo e aí testa. Esse exercício é preciso fazer por partes:

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

int main() {

    setlocale(LC_ALL, "Portuguese");

    ifstream arquivo;
    ofstream arquivox;
    string linha;

    arquivo.open("Teste.txt", ios::in);

    if (arquivo.is_open()) {
        while (getline(arquivo, linha)) {
            cout << linha << endl;
        }
        arquivo.close();
    } else {
        cout << "Não foi possivel abrir o arquivo" << endl;
    }

    return 0;
}

Eu apenas coloquei o modo de abertura e uma quebra de linha dentro do while.

Aqui funcionou normal

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 minutos atrás, giu_d disse:

@MatheusTITributos Olá. Vamos por partes. Seu código para ler o arquivo está funcionado. Tem certeza q o arquivo está na mesma pasta do seu código (codigoTal.cpp)?

Vou passar o código referente a parte de ler o arquivo e aí testa. Esse exercício é preciso fazer por partes:


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

int main() {

    setlocale(LC_ALL, "Portuguese");

    ifstream arquivo;
    ofstream arquivox;
    string linha;

    arquivo.open("Teste.txt", ios::in);

    if (arquivo.is_open()) {
        while (getline(arquivo, linha)) {
            cout << linha << endl;
        }
        arquivo.close();
    } else {
        cout << "Não foi possivel abrir o arquivo" << endl;
    }

    return 0;
}

Eu apenas coloquei o modo de abertura e uma quebra de linha dentro do while.

Aqui funcionou normal

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@MatheusTITributos O básico seria isso: (leitura e escrita):

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

int main() {

    setlocale(LC_ALL, "Portuguese");

    ifstream arquivo;
    ofstream arquivox;
    string linha;

    arquivo.open("Teste.txt", ios::in); // abre arquivo p leitura
    arquivox.open("COPY_Teste.txt", ios::out); // abre arquivo p escrita

    if (arquivo.is_open() && arquivox.is_open()) {
        while (getline(arquivo, linha)) {
            cout << linha << endl; // lê o arquivo linha a linha
            arquivox << linha; // escreve no arquivo 
        }
        arquivo.close();
        arquivox.close();
    } else {
        cout << "Não foi possivel abrir o arquivo" << endl;
    }

    return 0;
}

 

adicionado 1 minuto depois

Devo confessar q estudei pouco ainda o C++ 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o meu código com o arquivo em questão eles estão tudo na área de trabalho, e antes quando eu estava mandando ele ler um arquivo txt que era um exemplo de arquivo ele lia tranquilamente agora quando coloquei o arquivo em questão no código fazendo a substituição na linha: arquivo.open("Declan.txt", ios::in); ele está entrando em looping infinito.

Irei colocar em anexo o arquivo txt. mas em sí o mesmo estava funcional sim

Declan.txt

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Aqui té lendo e gravando. Só quanto a formatar aí vou deixar p você 

Se tiver dúvidas pergunte, ok? :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@MatheusTITributos

2 minutos atrás, MatheusTITributos disse:

Então o meu código com o arquivo em questão eles estão tudo na área de trabalho

Na mesma pasta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@giu_d Sim na mesma pasta creio eu. A minha unica dificuldade é só essa de ler e gravar porque são muitos dados do declan ae eu não sei se ele ta em loop ou se ele realmente ta gravando entende ?

 

adicionado 1 minuto depois

@giu_d Eu coloquei o arquivo no qual eu tenho que fazer isso. o Declan.txt se possivel da uma testadinha também por favor. Eu não sei se ele ta carregando ou se ta em loop. 

mas Obrigado por tirar minha duvida mano você me ajudou muito agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
6 minutos atrás, MatheusTITributos disse:

Sim na mesma pasta creio eu

É preciso ter certeza disso! Senão claro q vai dar erro. Confere bem aí

  • Curtir 1

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

×