Segmentation Fault
Boa noite, eu comecei a estudar pra uma prova que eu tenho sexta, mas tá dando um erro no meu código que a principio não era pra dar.
Tipo, na aula eu compilei esses arquios com Geany e eles funcionaram perfeitamente, aqui em casa eu to compilando pelo terminal do Ubuntu e fica dando Segmentation Fault(core dumped), só que é exatamente o mesmo código e o mesmo sistema operacional, alguém sabe o porquê disso? Será que é o jeito que eu compilo?
Vou postar o código do arquivo que está dando o erro:
#include "pratica01.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int le_arquivo(char c, ListaItens lista){
FILE *fp;
char linha[250];
char *aux;
int i;
i=0;if((fp = fopen(c,"r"))==NULL){
printf("Arquivo não encontrado");
exit(1);
}
fp = fopen(c,"r");while(fgets(linha,sizeof(linha),fp)!=NULL){
[b]Item produto;
aux = strtok(linha,";");
produto.descricao = (char *)malloc(strlen(aux)+1);
strcpy(produto.descricao,aux);
produto.quantidade = atoi(strtok (NULL,";"));
produto.preco = atof(strtok (NULL,";"));
lista->lista[i] = produto;
i++;[/b]
}
fclose(fp);
return i;
}
Eu sei que o erro está dentro daquele while que eu deixei em negrito(depurei e acho que tá ali), mas não sei aonde.
Eu sei também que é nessa função o erro, então não postei todo o código pra não ficar muito grande o topico.
Eu compilo pelo terminal usando o comando:
cc main_p01.c pratica01.h pratica01.c -o pratica01
Na aula eu compilei no Geany, mas eu não lembro quais os Comandos de Construção pra compilar vários arquivos, por isso que eu fui no terminal aqui, se alguém souber os comandos também :D.
Discussão (2)
Carregando comentários...