ggbh 0 Denunciar post Postado Setembro 25, 2009 Como realizar a leitura de um arquivo externo excluíndo os delimitadores. >>Exemplo de arquivo: [4]Nome ;[9]Sobrenome ;[5]Rua:Um ;[2]BH ;[2]MG ;[5]30540456 >>Saída da leitura: Nome Sobrenome Rua:Um BH MG 30540456 Montei esse código que nao ta legal: /********** Processadores ***********************************************/ #include <cstdlib> #include <iostream> #include <fstream> #include <string> #include <stdio.h> #include <stdlib.h> using namespace std; ************************************************************************/ int main(int argc, char *argv[]) { string teste; string reg; char *s; ifstream myfile ("example3.txt"); if (myfile.is_open()) { while (!myfile.eof()) { getline (myfile,reg); teste = reg; s = strdup(reg); /* Delimitador. Nesse caso quebraremos a string nos espacos em branco. */ char *delim = ";"; char *res; /* Primeira chamada antes do laco. */ res = strtok(s, delim); while (res != NULL) { fprintf(stdout, "%s\n", res); /* Repetimos chamada ate o fim da string. */ res = strtok(NULL, delim); } /* Liberamos o espaco alocado. */ free(s); system("pause"); return 0; } myfile.close(); } else cout << "Nao foi possivel ler o arquivo. O arquivo nao existe!\n"; system("pause"); } //************************************************************************/ Alguma dica ? GGBH Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 25, 2009 e se a gente achar o caracter ']' com: http://www.cplusplus.com/reference/clibrary/cstring/strchr/ e a partir dai copiar a string enquanto n for '\n' ou ';' []s Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Setembro 25, 2009 O que você quer é criar uma linguagem. Era bom você estudar sobre análise sintática. você pode separar o arquivo em tokens. Teremos dois tipos de tokens: "[<número>]" e string Compartilhar este post Link para o post Compartilhar em outros sites