Erro de segmentation fault

1 resposta
programação
Osniel_Teixeira

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {

int idade;

char nome[50];

float altura;

} PESSOA;
void leNomeArquivoEntrada(char *nome){

scanf("%s",nome);

}
int abreArquivoAEntrada(FILE* arq, char* nome){

arq = fopen(nome, r);

if (arq == NULL) {

return 0;

} else {

return 1;

}

}
int leDadosUmaPessoa(PESSOA* p, FILE arq){

int *idade;

char nome[50];

float *altura;
if (fscanf(&arq, "%i", idade) == EOF ||
    fscanf(&arq, "%s", nome) == EOF ||
    fscanf(&arq, "%f", altura) == EOF){
    return 0;
}
p->idade = *idade;
strcpy(p->nome, nome);
p->altura = *altura;
/*
 p->idade = idade;
p->nome = nome;
p->altura = altura;
 */

return 1;

}

int main() {

char S1[50];

PESSOA Povo[10], P;

FILE *Arq;
int i;

leNomeArquivoEntrada(S1);
if (abreArquivoAEntrada(Arq, S1) == 1) {
    do{
        if (leDadosUmaPessoa(&P, *Arq)== 1) {
            Povo[i] = P;
            i++;
            
        } else break;
        
    } while(1);
    
    /*
    
    fechaArquivo(Arq);
    
    ordenaVetor(Povo, i);
    
    imprimeVetor(Povo,i);
     */
    
}     else printf("Erro na abertura do arquivo");

return 0;

}

Estou tendo erro de segmentation fault.

1 Resposta

K

Faça depuração / debug e veja em que linha dá o erro.

Criado 4 de março de 2018
Ultima resposta 22 de mar. de 2018
Respostas 1
Participantes 2