MoLt1eS
Power Member
Boas, estou a desenvolver um programa para ler varios numeros de um ficheiro, meter num array e ordenar.
Acontece que estou com problemas na parte de ler o ficheiro, aparece sempre o erro Segmentation fault.
O erro ocorre na parte da leitura da dimensao do ficheiro.
Qual é o erro que estou a cometer?
Cumps,
MoLt1eS
Acontece que estou com problemas na parte de ler o ficheiro, aparece sempre o erro Segmentation fault.
Código:
int nElem,i,temp;
FILE *ptfich;
/*validacao do ficheiro*/
if((ptfich = fopen(argv[1],"r"))==NULL)
fprintf (stderr, "O ficheiro %s não existe\n", argv[1]);
/**********************************************************/
/*leitura da dimensao do ficheiro*/
while(fscanf (ptfich, "%d", &temp) == 1)
nElem++;
printf(" \nNUMERO ELEM: %d ", nElem);
/*Criacao dos arrays*/
int* array_a = calloc(sizeof(int),nElem); /*Array a - para usar no Insertion Sort*/
int* array_b = calloc(sizeof(int),nElem); /*Array b - para usar no Merge Sort*/
/*Preencher os arrays com os valores do ficheiro*/
for (i = 0; i < nElem; i++){
fscanf (ptfich, "%d", &array_a[i]);
array_b[i]=array_a[i];
}
fclose (ptfich);
O erro ocorre na parte da leitura da dimensao do ficheiro.
Qual é o erro que estou a cometer?
Cumps,
MoLt1eS