Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I overwrite X bytes on offset Y with fwrite()?

All I can find using fopen() and fwrite() in C is to delete all contents and start writing again or append to the end of the file. What if I need to go to some offset in the file and overwrite a few bytes?

Is that possible with some function?

like image 834
rfgamaral Avatar asked Apr 12 '10 15:04

rfgamaral


1 Answers

You can open the file with the "rb+" option and then use fseek with SEEK_SET to go to a specific location. Therb+ opens it for both reading and writing as a binary file (the file must exist in order for it to succeed - it will not create a new file).

like image 76
Mark Wilkins Avatar answered Nov 13 '22 17:11

Mark Wilkins