Там нет ни одного. Обратите внимание, что mkstemp
не является частью стандарта C (по крайней мере, C99) или C ++ - это дополнение POSIX. C ++ имеет только tmpfile
и tmpnam
в библиотечной части C.
Boost.IOStreams , однако, предоставляет класс устройства file_descriptor
, который может использоваться для создания потока, работающего с тем, что возвращает mkstemp
.
Если я правильно помню, это должно выглядеть так:
namespace io = boost::iostreams;
int fd = mkstemp("foo");
if (fd == -1) throw something;
io::file_descriptor device(fd);
io::stream<io::file_descriptor> stream(device);
stream << 42;