Ir ao conteúdo

Posts recomendados

Postado

Boa noite galera.

O arquivo está sendo lido, o problema acontece que ele para de executar antes de chegar ao fim do arquivo.  Não estou compreendendo qual o problema.

O arquivo contém 514 linhas com esse tipo de entrada:

ADELSON BARRETO;PR;SE;T;Câmara dos Deputados, Edifício Anexo;4;, gabinete nº;937;Brasília - DF - CEP 70160-900;3215-5937;3215-2937;09;22;[email protected];ADELSON BARRETO;Exmo. Senhor Deputado;Jornalista,radialista;ADELSON BARRETO DOS SANTOS

ADEMIR CAMILO;PTN;MG;S;Câmara dos Deputados, Edifício Anexo;4;, gabinete nº;556;Brasília - DF - CEP 70160-900;3215-5556;3215-2556;05;30;[email protected];ADEMIR CAMILO;Exmo. Senhor Deputado;Médico, Advogado;ADEMIR CAMILO PRATES RODRIGUES

 

 

A struct:

#define MAX 514

struct padrão{
    char nomeparlamentar[50];
    char partido[12];
    char UF[3];
    char estado[2];
    char endereco[50];
    char anexo[3];
    char Econt[50];
    char gabinete[5];
    char Ecompl[50];
    char telefone[12];
    char fax[12];
    char mesniver[3];
    char dianiver[3];
    char email[30];
    char nomesacento[50];
    char tratamento[50];
    char profissao[20];
    char nomecivil[70];
};
typedef struct padrão Cadastro;

Cadastro ladrao[MAX];

 

A função para ler o arquivo.

void RecebeDados(Cadastro ladrao){
    FILE *fp = fopen("ListadeDeputados1.txt", "r");
    if(fp==NULL){
        printf("Arquivo nao encontrado.");
        exit(1);
    }
    int i=0;
    char str[1000];
    fscanf(fp, " %[^\n]s", str);

    char* palavras[18];
    char *palavra = strtok(str, ";");

    while (palavra != NULL)
    {
        palavras[i++] = palavra;
        palavra = strtok(NULL, ";");
        printf("%s\n", palavra);
    }
     strcpy(ladrao.nomeparlamentar,&palavra[0]);
     strcpy(ladrao.partido,&palavra[1]);
     strcpy(ladrao.UF,&palavra[2]);
     strcpy(ladrao.estado,&palavra[3]);
     strcpy(ladrao.endereco,&palavra[4]);
     strcpy(ladrao.anexo,&palavra[5]);
     strcpy(ladrao.Econt,&palavra[6]);
     strcpy(ladrao.gabinete,&palavra[7]);
     strcpy(ladrao.Ecompl,&palavra[8]);
     strcpy(ladrao.telefone,&palavra[9]);
     strcpy(ladrao.fax,&palavra[10]);
     strcpy(ladrao.mesniver,&palavra[11]);
     strcpy(ladrao.dianiver,&palavra[12]);
     strcpy(ladrao.email,&palavra[13]);
     strcpy(ladrao.nomesacento,&palavra[14]);
     strcpy(ladrao.tratamento,&palavra[15]);
     strcpy(ladrao.profissao,&palavra[16]);
     strcpy(ladrao.nomecivil,&palavra[17]);
    return;
}

Qual seria o problema para que todo o arquivo seja lido?

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!