Как записать файл размером &gt;4Gb в C++?
Что-то мне подсказывает что проблема в том что размер типа int, который используется в ofstream::seekp и в ofstream::write равен 4 байта. А это значит что с помощью этих методов принципиально нельзя записать больше 4 Гб.
Здесь есть ответ:
stackoverflow.com/questions/293672/reading-files-larger-than-4gb-using-c-stl
В таком случае врет не только MSDN.
Кстати еще неизвестно как это значение обрабатывает сам seekg :)
В общем, я все равно не вижу смысла пользоваться стандартными потоками ввода-вывода — с ними только вечные пляски с бубном, плюс в режиме append не запишешь данные в произвольную позицию :)