Έχω ένα δυαδικό αρχείο και κάνω καταγραφές σε αυτό (η κάθε καταγραφή έχει 2 "πεδία" 8 byte η κάθε μια), η κάθε καταγραφή πιάνει 16 byte. Έστω ότι έχω n, καταγραφές και θέλω να αντικαταστήσω την m καταγραφή (m<n) από την τελευταία, και μετά να διαγράψω ότι υπάρχει στη θέση τις παλιάς καταγραφής (τα τελευταία 16 bytes του αρχείου δηλαδή). Από όσο έχω δει δεν υπάρχει εντολή "διαγραφής" μέρους του αρχείου.
Ένας τρόπος είναι να δημιουργήσω ένα προσωρινό αρχείο και να κάνω αυτό που θέλω, αλλά αυτός ο τρόπος θέλει γράψιμο. Αν δεν κάνω λάθος αυτό κάνει και το ΛΣ όταν πειράζουμε γενικά αρχεία κειμένου (κρατάει ένα κρυφό προσωρινό αρχείο)
Τώρα είναι η ερώτηση, πολύ απλά θα μπορούσε να γίνει αν θα μπορούσα να να κάνω αντιγραφή της τελευταία καταγραφή στην θέση της m -εύκολο και δυνατό-, και μετά να έκανα κάπως να πείραζα την SEEK_END ώστε να δείχνει 16 byte πιο κάτω (???), πράγμα που θα ήταν αρκετά ωραίο αν γινόταν αλλά δεν ξέρω αν είναι δυνατό.
Λύση: http://linux.about.com/library/cmd/blcm ... uncate.htm




