I'm not sure exactly what you are asking. Where are the extra bytes?
Is your output routine adding extra characters that you don't expect?
If the file is say 100 bytes long and you add some more bytes to it, and then if you start reading at byte 100,
you should get the new bytes that were added.
Example:
Original file: ABCD (4 bytes)
After adding 2 bytes: ABCDef
Now if you start reading at byte 4, you should get ef.
Could you demonstrate what is the problem you are having?