Курсоры чтения и записи в 'std::fstream' всегда имеют одинаковую позицию C++
Вопрос такой: курсоры в std::fstream
всегда имеют одинаковую позицию (как для чтения, так и для записи).
Например, в std::stringstream
такого нет:
Курсор для чтения имеет свою позицию, как и курсор для записи.
Я пробовал почитать об этом, но так и не совсем понял из-за чего было принято такое решение. Нашел только информацию о том, что это связано с
low-level I/O
, ОС и тем, что нельзя писать и читать сразу в двух разных местах - но так и не понял почему конкретно.Есть те, кто также задавался таким вопросом и/или знает ответ? Надеюсь, что здесь я его получу.
Хочу предупредить:
std::stringstream
я привел чисто в пример, как мое ожидание по работе с позициями курсоров вstd::fstream
- ничего большего!