I am using an API that takes a FILE *
and am using that to create a data buffer in memory:
std::shared_ptr<FILE> f(tmpfile(), fclose);
write_to_file(f.get());
rewind(f.get());
auto data = make_file_buffer(f.get());
return data;
This works, but is slower than writing to a memory buffer.
Is it possible to get this to write to a memory file and avoid reading/writing to disk (like stdin/stdout/stderr read/write to the console)?
NOTE: I am using Linux, so have access to Linux and POSIX APIs.