Problema em Leitura de Arquivo
Boa tarde, eu fiz toda minha Tabela Hash aqui, e para testar a mesma eu leio as chaves de um arquivo, só que sempre quando chega na ultima linha ele dar Segmetantion Fault, alguém sabe por que?
while(!feof(fp) && i <2500000){
Chave novo;
fgets(aux,150, fp);
//grava a linha na aux
aux1 = strtok(aux, " ");
aux2 = atoi(strtok(NULL, " "));
//separa a aux em string e numero
novo.numero = aux2;
novo.string = (char*) malloc (150*sizeof(char));
novo.prox = NULL;
if(novo.numero==0) break;
strcpy(novo.string,aux1);
//grava numa variavel Chave
float fatorCarga = (float) numeroElementos/posicoes;
//atualiza fator de carga.
insere(novo, vet1);
//insere.
if(fatorCarga>CARGAMAXIMA){
//rehash
numeroElementos = 0;
vet1 = rehash(vet1);
//rehash
//para_cronometro("Tempo: ", i);
//fprintf(fp1,"REHASH para %d\n", posicoes);
//utilizado no relatorio
}
//if(i%20000==0){
//v = para_cronometro("Tempo: ", i);
//printf("%d, Tempo: %.9f s\n", i,v);
//fprintf(fp1, "%d;%.9f\n", i, v);
//inicia_cronometro();
//}//utilizado no relatorio
i++;
}
Eu tive que colocar o i<2500000 para não dar o segmetantion.
Discussão (3)
Carregando comentários...