Sign in to follow this  
FlyingDodo

ofstream and overwriting files

Recommended Posts

I'm trying to save a file with ofstream, but I only want to overwrite a particular area of it. I open the file, seekp() to the position I want to overwrite and then write() what I want to it. But afterwards instead of doing that, only what I have written to the file is there, with an offset filled with blank before it (which i'm guessing to be the same size as the seekp()). How can I make it keep the rest of the file but overwrite where I want it to?

Share this post


Link to post
Share on other sites
When opening the file, use an openmode other than the default (which specifies to truncate the file). more info.

Share this post


Link to post
Share on other sites
Off the top of my head i can think of two ways:

1) Open the file for appending, not for output, then do as you were doing before.
2) Read the file into a string, edit the string and then output the string to the same file.

Dave

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this