Вы можете проверить, предлагает ли ваша реализация конструктор std::fstream
, который принимает дескриптор файла, и, если это так, используйте fileno
, чтобы получить fd из FILE*
, возвращаемого tmpfile()
.Но стандарт C ++ не гарантирует этого конструктора.