That works okay only for fixed-sized structs that don't require any transformation of their members-- otherwise you'll need to write a traditional parser.
It is there in Prolog version too. Search for "FileSize" on the page.
What I mean is that if you need to parse a format that has variable-sized structures, you can't just memcpy them into a struct because structs have a fixed size. Additionally sometimes you need to parse a value into a more tractable representation, for example those octal ASCII strings in the tar format, which requires some additional processing that isn't possible with loading/serializing a struct.