Επιστροφή στο Forum : Προβλημα με fwrite
Προσπαθω να καταλαβω τι κανει η fwrite γτ με εχει μπερδεψει τελειως....
μια εκτελεση fwrite θα κανει insert δεδομενα σε ενα αρχειο αφηνοντας απειραχτα τα δεδομενα που υπηρχαν εκει μετακινοντας τα προς τα κατω η υποτιθεται οτι πρεπει να γραψει πανω απο αυτα διαγραφοντας την εγγραφη που υπηρχε προηγουμενως εκει???
Προσπαθω να καταλαβω τι κανει η fwrite γτ με εχει μπερδεψει τελειως....
μια εκτελεση fwrite θα κανει insert δεδομενα σε ενα αρχειο αφηνοντας απειραχτα τα δεδομενα που υπηρχαν εκει μετακινοντας τα προς τα κατω η υποτιθεται οτι πρεπει να γραψει πανω απο αυτα διαγραφοντας την εγγραφη που υπηρχε προηγουμενως εκει??? αν υπήρχε φυσικά
Υπάρχει και μία ακόμη δυνατότητα: να μετακινηθείς πρώτα με μία κλήση της fseek (http://www.cplusplus.com/reference/clibrary/cstdio/fseek/) στο τέλος του αρχείου και να γράψεις από εκεί και μετά νέα δεδομένα με την fwrite...
Για να γινω πιο σιγεκριμενος εγω θελω να κανω Update se μια εγγραφη οποτε εκανα fread
αμα εβρισκα την εγγραφη που ηθελα εκανα fseek mia εγγραφη πισω και μετα fwrite.
Ομως το Loop Μου ειναι να κοιταω μεχρι το τελος του αρχειου οποτε στην επομενη fread διαβαζε μια εγγραφη ιδια με αυτην που ειχε διαβασει πριν την αλλαγη κιολας.
Τελικα λυθηκε με την προσθηκη μιας fflush αλλα ακομα δεν εχω καταλαβει τι προβλημα υπηρξε στον κωδικα μου...
WagItchyef
03-05-09, 00:23
Γράψε μας ένα παράδειγμα αυτής της λάθος συμπεριφοράς, σε κώδικα που γίνεται compiled. Επίσης πες μας αν αναφέρεσαι σε C ή σε C++.
@ ADSLgr.com All rights reserved.