Не думаю, что ты можешь. Существует множество функций для перемещения «вверх и вниз» иерархии обёрток для HANDLE<->int<->FILE *
, по крайней мере, в Windows, но нет «правильного» извлечения FILE *
из объекта iostreams (если он действительно реализован с помощью одного ).
Возможно, вам понадобится этот вопрос .
Лично я бы настоятельно рекомендовал избегать iostreams, они плохо спроектированы, сильно C ++ и на них неприятно смотреть. Взгляните на iostreams Boost или оберните stdio.h , если вам нужно использовать классы.
Соответствующей функцией для stdio является ftruncate () .