lbr 0 Denunciar post Postado Dezembro 5, 2008 E ai pessoal, tenhum um trabalho pra entregar hj, mas não to conseguindo capturar strings separadas do arquivo que estou fornecenso como entrada... eu estava fazendo assim... segue o codigo q eu estava usando para abertura e leitura ifstream entrada (dados, ifstream::in); entrada.getline(dados, '\n'); for(i = 0; i<n; i++) { cont = 0; while (entrada.good()) // loop while extraction from file is possible { entrada.get©; // get character from file cout << c; //c.get(dados); } entrada.get©; dados = " "; while(c!='\n') { cout << c; if(c==' ') {dados[aux] = '\0'; cout << dados << endl; system("PAUSE"); switch(cont) { case 0: prod.id = atoi(dados); break; case 1: prod.r = atoi(dados); break; case 2: prod.p = atoi(dados); break; case 3: prod.q = atoi(dados); break; default: cout<< "Erro no arquivo de entrada"<<endl; exit(1); } cont++; }aux++; dados[aux] = c; entrada.get©; } T.push_back (prod); } dados consiste em um arranjo de char vlw :)) Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 5, 2008 ve c esse link te ajuda um pouquinhoooo: http://forum.imasters.com.br/index.php?showtopic=319613 []s Compartilhar este post Link para o post Compartilhar em outros sites
Felagund 0 Denunciar post Postado Dezembro 5, 2008 tipo jeito sempre tem, mas eu prefiro fazer isso em C, acho mais pratico... para tanto, você prescisa incluir a biblioteca cstdio; segue o codigo #include <cstdio> FILE *'nome da variavel'; //testa se existe erro ao abrir o arquivo if(!('nome da variavel' = fopen(vetor de char ou nome do arquivo, "r"))) { exit(1); } //captura cada string fscanf('nome da variavel', "%s", &vetor de char); //para fazer a leitura //usa um while ou for, no caso do while pode-se usar como condicao: !feof(entrada) //a qual testa enquanto o arquivo nao acaba { cont = 0; //controla foi captado e onde sera armazenado //uso de um do while para ler cada string do{ //captura cada string fscanf('nome da variavel', "%s", &vetor de char); }while(fgetc('nome da variavel')!='\n');/*coloca condicao quebra de linha, para permitir ler uma linha de cada vez*/ } E ai pessoal, tenhum um trabalho pra entregar hj, mas não to conseguindo capturar strings separadas do arquivo que estou fornecenso como entrada... eu estava fazendo assim... segue o codigo q eu estava usando para abertura e leitura ifstream entrada (dados, ifstream::in); entrada.getline(dados, '\n'); for(i = 0; i<n; i++) { cont = 0; while (entrada.good()) // loop while extraction from file is possible { entrada.get©; // get character from file cout << c; //c.get(dados); } entrada.get©; dados = " "; while(c!='\n') { cout << c; if(c==' ') {dados[aux] = '\0'; cout << dados << endl; system("PAUSE"); switch(cont) { case 0: prod.id = atoi(dados); break; case 1: prod.r = atoi(dados); break; case 2: prod.p = atoi(dados); break; case 3: prod.q = atoi(dados); break; default: cout<< "Erro no arquivo de entrada"<<endl; exit(1); } cont++; }aux++; dados[aux] = c; entrada.get©; } T.push_back (prod); } dados consiste em um arranjo de char vlw :)) Compartilhar este post Link para o post Compartilhar em outros sites
Edultra 13 Denunciar post Postado Dezembro 6, 2008 Metodo simples rapido e prático: void learquivo(char *vet,char arqorigem[20]) { fstream arqB; arqB.open(arqorigem,ios::in); char n[70]; int i=0; while(!arqB.eof()) { arqB.read(n,1); n[1]=0; if(!arqB.eof()) { vet[i]=n[0]; i++; } } vet[i]=0; cout.flush(); arqB.close(); } Para um melhor entendimento do metodo de leitura e a utilização da linha: void learquivo(char *vet,char arqorigem[20]) Veja o seguinte tópico: http://forum.imasters.com.br/index.php?showtopic=314205 Antes de fazer as modificações exigidas no trabalho do link, aloquei dentro de um vetor o conteúdo do arquivo txt, acredito que seja isso que deseja. Compartilhar este post Link para o post Compartilhar em outros sites