Juin Posted January 6, 2010 at 08:37 PM Report Share #304530 Posted January 6, 2010 at 08:37 PM 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"); Link to comment Share on other sites More sharing options...
Localhost Posted January 6, 2010 at 11:02 PM Report Share #304556 Posted January 6, 2010 at 11:02 PM 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now