Стандарт C не определяет, как он реализован. Таким образом, может перезаписать блоки, но нет гарантии. Например, в Unix / Unix-подобной среде это, скорее всего, оболочка около open()
с некоторыми внутренними FILE *
манипуляциями, о которых нам не нужно беспокоиться.