با استفاده از متد seekg و فرستادن پارامتر fstream::end به متد میتونید موقعیت رو به انتها ببرید تا مقداری که به عنوان موقعیت میدید از انتها حساب بشه . مثلا از انتها ۴ بایت موقعیت رو تغییر بدید و ۴ بایت بخونید ، دوباره ۴ بایت موقعیت رو تغییر بدید و ۴ بایت بخونید و ....
این لینک خوبه :
http://www.cplusplus.com/reference/istream/istream/seekg/