レコードは可変長です。 データを書き出す場合は、 レコード長項目は書き込むバイト数を示します。 項目が char でない限り、 データの最終バイトは項目の最終バイトでなければなりません。
レコード長項目の値が、 項目の最終バイトを指すか char 項目内に収まるようにプログラムを変更してください。