I'm considering saving game items data in a binary file, instead of an ascii file. Just need to clarify one detail before complicating my code unnecessarily.

From what I've been reading about binary mode fstreams, it is still possible to have different size objects written and read as long as I separate them with some form of delimiter between data members?

Or is it best I develop my Item class hierarchy with fixed lenght members? Thus replacing std::strings with const char*, std:: vectors with arrays, and such. This option seems too extravagant.

What is the method commonly used?