Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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;

}

 

Editado por Simon Viegas
Inserir tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

@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

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

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

@MatheusTITributos Segue o resultado:

Capturar.thumb.PNG.6da0f922316f819455c94fe3b24d65d7.PNG

adicionado 0 minutos depois

Não tá caindo em loop não

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@giu_d Ok amigo, testei aqui. MUITO OBRIGADO agora  a lógica de como vou fazer a ordem é comigo <3 ajudou muito cara obrigado mesmo

 

  • Curtir 1
  • Obrigado 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






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

×