joaogabriel97 Postado Março 3, 2016 Denunciar Share Postado Março 3, 2016 (editado) Preciso de ajuda,como faço para criar uma função para salvar uma lista encadeada em um arquivo,tentei varias coisas e não consegui. #include <stdio.h> #include <stdlib.h> typedef struct celulaLista { int informacao; struct celulaLista *proximo; } celula; int main() { celula *pLista; int opcao = 0; void initLista(celula **pRecebido); void insertLista(celula **pRecebido); void buscaListaSimples(celula **pRecebido); void removeElementoListaSimples(celula **pRecebido); void salva(celula **pRecebido); int leValor(int *valorRecebido); pLista = (celula *)malloc(sizeof(struct celulaLista)); initLista(&pLista); for(;;) { printf("\n1 - Inserir "); printf("\n2 - Consultar "); printf("\n3 - Remover"); printf("\n4 - Salvar em Arquivo"); printf("\n5 - Sair \n "); scanf("%d", &opcao); opcao = leValor(&opcao); switch(opcao) { case 1: insertLista(&pLista); break; case 2: buscaListaSimples(&pLista); break; case 3: removeElementoListaSimples(&pLista); break; case 4: salva(&pLista); break; case 5: exit(0); } } return 0; } void initLista(celula **pRecebido) { (*pRecebido)->proximo = NULL; } void insertLista(celula **pRecebido) { celula *temporario; int valor; printf("\nInforme um Valor a ser Inserido : "); scanf("%d", &valor); temporario = (celula *)malloc(sizeof(celula)); temporario->informacao = valor; temporario->proximo = (*pRecebido)->proximo; (*pRecebido)->proximo = temporario; } void buscaListaSimples(celula **pRecebido) { celula *temporario; if((*pRecebido)->proximo == NULL) { printf("Lista Vazia!\n"); } else { temporario = (celula *)malloc(sizeof(celula)); temporario = (*pRecebido)->proximo; while(temporario != NULL) { printf("Valor : %d\n", temporario->informacao); temporario = temporario->proximo; } } } void removeElementoListaSimples(celula **pRecebido) { celula *temporario; if((*pRecebido)->proximo == NULL) { printf("\nLista Vazia!"); } else { temporario = (*pRecebido)->proximo; (*pRecebido)->proximo = temporario->proximo; free(temporario); } } int leValor(int *valorRecebido) { while((*valorRecebido > 4) || (*valorRecebido < 1)) { printf("Opcao Invalida. Informe novamente : \n"); scanf("%d", &(*valorRecebido)); } return(*valorRecebido); } void salva(celula **pRecebido){ FILE *arquivo; arquivo = fopen("Arquivo.txt", "w"); if(arquivo == NULL){ printf("Erro na abertura do arquivo!"); } else{ } fclose(arquivo); printf("Salvo com Sucesso"); } Editado Março 3, 2016 por joaogabriel97 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
joaogabriel97
Preciso de ajuda,como faço para criar uma função para salvar uma lista encadeada em um arquivo,tentei varias coisas e não consegui.
Link para o comentário
Compartilhar em outros sites
0 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.