Estou com problemas para gravar um lista simplesmente encadeada em um arquivo. Eu consigo gravar apenas 1 registro, quando eu compilo denovo, e vou cadastrar, o registro q tava no arquivo é sobrescrito pelo novo cadastro. Estou com problemas tb para mostrar os dados contidos no arquivo...
Segue o código:
Desde já agradeço.
void cadastro(){
celula *elemento;
elemento=malloc(sizeof(celula));
if(elemento==NULL){
printf("\nErro ao Alocar!");
}else{
if(cabeca->tamanho==0)
elemento->proximo=NULL;
else
elemento->proximo = cabeca->inicio;
cabeca->inicio=elemento;
cabeca->tamanho++;
getchar();
printf("\nDigite o nome:" );
gets(elemento->dados.nome);
printf("\nCidade: ");
gets(elemento->dados.cidade);
printf("\nDigite o Codigo Area do Telefone: ");
scanf("%d", &elemento->dados.cod_area);
printf("\nDigite o Numero do Telefone: ");
scanf("%d", &elemento->dados.telefone);
printf("\nObservacoes: ");
getchar();
gets(elemento->dados.obs);
FILE *arq;
arq= fopen ("agenda", "wb");
if (!arq )
printf (" Erro ao abrir arquivo !");
else{
fwrite (&elemento->dados , sizeof (info), 1, arq );
fclose (arq);
}
}
}
Pergunta
elizier
Olá pessoal.
Estou com problemas para gravar um lista simplesmente encadeada em um arquivo. Eu consigo gravar apenas 1 registro, quando eu compilo denovo, e vou cadastrar, o registro q tava no arquivo é sobrescrito pelo novo cadastro. Estou com problemas tb para mostrar os dados contidos no arquivo...
Segue o código:
Desde já agradeço.
Link para o comentário
Compartilhar em outros sites
4 respostass 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.