I want to create file if it doesn't exist, or append to the end if it does, but also be able to read:
std::fstream::binary | std::fstream::in | std::fstream::out | std::fstream::ate
The current answers 1 2 all suggest I can either get rid of the ability to read the file, or truncate it. Google provides one post that scolds the asker for not finding another post which is long gone along with its author and "hints" it's a two-step process...