That is weird. I would be very cautious about blaming a particular file. You need to post some code. Are your getc's following one after the other? Is there any type of processing going on in between the getc's that would move the offset? Can you replace the four getc with one read to see what happens?