Estou escrevendo um codigo que pega dados de um arquivo txt e salva cada linha em uma posicao de um array, so que isso não acontece, ele salva uma linha e depois da o erro : "Segmentation Fault (core dumped)" . Abaixo coloco o codigo para melhor visualizacao do problema , já li em alguns foruns e materiais que esse erro se da quando o programa tenta acessar algum endereco de memoria improprio , uso sim um ponteiro , pois a funcao fgets so roda dessa forma. Enfim nos materiais que acho não estou conseguindo sanar o problema , peco humildemente a ajuda de vocês , Obrigado desde já!
#include <stdio.h>
#include <string.h>
int main(void)
{
char url[]="cadastro.txt";
char ch[500];
char *array[500] ;
int i=0 ;
FILE *arq;
arq = fopen(url, "r");
if(arq == NULL)
printf("Erro, não foi possivel abrir o arquivo\n");
else
while((fgets(ch , 500 ,arq)) != NULL);
{
Pergunta
apprentice
Ola pessoal,
Estou escrevendo um codigo que pega dados de um arquivo txt e salva cada linha em uma posicao de um array, so que isso não acontece, ele salva uma linha e depois da o erro : "Segmentation Fault (core dumped)" . Abaixo coloco o codigo para melhor visualizacao do problema , já li em alguns foruns e materiais que esse erro se da quando o programa tenta acessar algum endereco de memoria improprio , uso sim um ponteiro , pois a funcao fgets so roda dessa forma. Enfim nos materiais que acho não estou conseguindo sanar o problema , peco humildemente a ajuda de vocês , Obrigado desde já!
#include <stdio.h>
#include <string.h>
int main(void)
{
char url[]="cadastro.txt";
char ch[500];
char *array[500] ;
int i=0 ;
FILE *arq;
arq = fopen(url, "r");
if(arq == NULL)
printf("Erro, não foi possivel abrir o arquivo\n");
else
while((fgets(ch , 500 ,arq)) != NULL);
{
strcpy(array ,ch);
printf("%s", array);
i++;
}
fclose(arq);
printf("%s\n", array[0]);
return 0;
}
P.S.: Estou compilando e executando no gcc...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.