Zależy co chcesz osiągnąć. Może zainteresuj się protobuf, thrift albo boost::serialization.
Jeżeli chcesz to robić z ręki, to musisz zserializaować. Jak ma być przenośne między maszynami bigendian i littlendian to będziesz musiał zmienne numeryczne sprowadzić do wspólnej reprezentacji. Kopiowanie wskaźników też nie ma sensu, bo będzie to nic nie znacząca liczba w pliku, która po deserializacji i tak musi być nadpisana adresem nowej pamięci.
Jeżeli w pliku będzie więcej struktur to jeszcze musisz się zastanowić jak to zakodować by wiedzieć z czym masz do czynienia, kiedy się kończy, kiedy zaczyna nowa struktura.