в одном приложении
в той же самой нитке исполнения
открываю файл на чтение fopen(....)
после этого открываю этот же файл на запись
std::ofstream::open(имя, std::ofstream::binary)
читаю из файла и пишу в него же.
Всё корректно работает

, хотя данные совершенно разные.
Правильно ли я понимаю, что работоспособность такого кода зависит от операционной системы? Или это "как повезёт"?