例えば、fread(&buf[0],4,1,in_fp) で4byte読み込んだ後、fread(&buf[0],8,1,in_fp) と8byte読むと、2回目のfreadは5〜12byteが読まれるのですか?
やってみれば分かることだと思いますけど(^^;
※作成する前に利用規約をご確認ください。