feugatos Δημοσ. 13 Ιανουαρίου 2008 Δημοσ. 13 Ιανουαρίου 2008 Παιδιά γειά σας, έχω αυτό το struct: > typedef struct _SOLDIER { char ASM[7]; char Onoma[50]; char Eponymo[50]; int meresAdeias; int wresYpir; struct _SOLDIER *next; } SOLDIER; με το οποίο δημιουργώ μια λίστα. αργότερα με μια fprintf με την εξής σύνταξη > fprintf(fp, "%s %s %s %d %d\n", tempNode->ASM, tempNode->Onoma, tempNode->Eponymo, tempNode->meresAdeias, tempNode->wresYpir); αποθηκεύω τα δεδομένα της λίστας σε ένα αρχείο. Το πρόβλημά μου είναι το εξής, πως μπορώ να δημιούργήσω ξανά τh λίστα που έχω αποθηκεύσει στο αρχείο? έχω γράψει αυτή τη συνάρτηση > void loadListfromFile(char *filename) { if ((fp = fopen(filename, "r")) == NULL) return; else { do { SOLDIER *newNode = NULL, *tempNode = NULL; newNode = (SOLDIER *)malloc(sizeof(SOLDIER)); fscanf(fp, "%s %s %s %d %d\n", newNode->ASM, newNode->Onoma, newNode->Eponymo, newNode->meresAdeias, newNode->wresYpir); if (!head) head = newNode; else { tempNode = head; while(tempNode->next) tempNode = tempNode->next; tempNode->next = newNode; } } while(!feof(fp)); fclose(fp); } } αλλά δεν βλέπω να λειτουργεί σωστά. μπορεί να βοηθήσει κανείς;
bokarinho Δημοσ. 13 Ιανουαρίου 2008 Δημοσ. 13 Ιανουαρίου 2008 Ειλικρινά γιατί ανοίγεις νέο θέμα αφού σου έχω στείλει εγώ προσωπικά την απάντηση και μάλιστα με κώδικα. Δηλαδή τι δεν καταλαβαίνεις από το προηγούμενο θέμα;
feugatos Δημοσ. 14 Ιανουαρίου 2008 Μέλος Δημοσ. 14 Ιανουαρίου 2008 οκ τελικα το βρηκα η fscanf επρεπε να εχει ως εξης > fscanf(fp, "%s %s %s %d %d\n", newNode->ASM, newNode->Onoma, newNode->Eponymo, &newNode->meresAdeias, &newNode->wresYpir);
GIANNISPATRA Δημοσ. 15 Ιανουαρίου 2008 Δημοσ. 15 Ιανουαρίου 2008 ρε feugate δεν μου δίνεις και εμένα την απάντηση ??
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.