>>963
単にC++とC#のバイナリモードの意味が違うだけ。

C++のほうをバイナリモードで開いて、
fin.read(reinterpret_cast<char*>(&i), sizeof i)
とでもすれば、C#でのi = BinaryReader.ReadInt32()に相当する。