I want to write to a file without overwriting anything. It is a text file containing records. When I delete a specific record, I do not actually remove it from the file, I just put information in the header saying that it is deleted. How can I do this?
Share
You cannot append to the BEGINNING of a file without having to rewrite it from scratch. It has to go at the end (which makes sense, since that’s what the word “append” means).
If you want to be able to flag a record as deleted without reserving space for that flag, you’ll need to place the information at the end, or rewrite everything.
A more sensible approach is indeed to reserve the space upfront – for example by placing a “deleted” field in each record.