On Tue, May 20, 2003 at 06:45:53PM -0700, Mark K. Kim wrote:
Hello...
I'm trying to access data in a file in C. I want to read some portion
of it, modify it, then rewrite that portion back into the file.
I don't think what you're trying to do is possible. What you *can* do,
is read in the file in chunks of an appropriate size for keeping in
memory, and writing them out to a new (temporary) file as you go. As
soon as you reach the spot you need to modify, you just modify the
data you are going to write out to the new file, and then copy the
tail end of the original, chunk-by-chunk, into the temporary file.
Er, what? Overwriting part of a file is a normal operation. Kim's
problem is that he's opening the output file in "w+" mode, which
truncates the file.