Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Juin

ERRO

Mensagens Recomendadas

Juin

Tou a ter um problema na leitura dos dados, leva demasiado tempo para ler apenas 1 linha de dados, e depois nao lê nada

por  favor deem uma ajudinha....

int LerFicheiro(Livro files[], char* nomef){ //Fun��o que l� os dados do ficheiro e retorna a posi��o da �ltimo proposta no ficheiro.
    FILE *f;
    int i=0;
    f=fopen(nomef,"r");
    if(f==NULL){
            printf("O Ficheiro nao existe!\n");
            return 0;
    }
    while (!feof(f)) {
        files[i]=LerPropostasDoFicheiro(f);
i++;
    }
    fclose(f);
    return i;
}



Livro LerPropostasDoFicheiro(FILE *f){ //Fun��o que permite uma leitura formatada de uma proposta do ficheiro, retornando estes dados.
    int i;
    Livro dados;
    fscanf(f," %[^;]%*c", dados.requisitante);
    fscanf(f," %[^;]%*c", dados.coleccao);
    fscanf(f," %[^;]%*c", dados.editor);
    fscanf(f," %f%*c", &dados.preco);
    fscanf(f," %d%*c", &dados.NumDeExemplares);
    fscanf(f," %[^;]%*c", dados.EndEditor);
    fscanf(f," %[^;]%*c", dados.titulo);
    fscanf(f," %[^;]%*c", dados.urgencia);
    fscanf(f," %d\n", &dados.ISBN);
    for(i=0; i < dados.Qautores; i++)
        fscanf(f," %[^;]%*c", dados.autores[i]);
    fscanf(f," %d%*c", &dados.dia);
    fscanf(f," %d%*c", &dados.mes);
    fscanf(f," %d%*c", &dados.ano);
    fscanf(f," %d%*c", &dados.diapub);
    fscanf(f," %d%*c", &dados.mespub);
    fscanf(f," %d%*c", &dados.anopub);
    fscanf(f," %d%*c\n", &dados.chave);
    return dados;
}







int main(){
    int op;
    Livro a[DIM];
    int index;
    printf("A carregar os dados...\n\n");
    index=LerFicheiro(a, "basededados.txt");
    if (index!=0)
        printf("Dados carregados do ficheiro!\n");
    system("pause");
    begin:
    system("cls");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Não tenho a certeza mas a função fscanf() não aceita esses tipos de formatações nos seus parametros. Aliás, ela lê e guarda dados até encontrar um espaço em branco ou um \n. Resumindo, lê dado a dado.


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.