Разобрался, вот пример кода который записывает файл в формате MS Structured Storage :
#include <iostream>
extern "C" {
#include <gsf/gsf.h>
#include<glib-object.h>
}
int main()
{
gsf_init();
const char *out_file_name = "storage.bin";
FILE *file = fopen(out_file_name, "wr");
if (!file) {
std::cout << "file open fail" << std::endl;
exit(0);
}
GsfOutput *output = gsf_output_stdio_new_FILE(out_file_name, file, true);
GsfOutfile *output_file_ole2 = gsf_outfile_msole_new(output);
GsfOutput *output2 = gsf_outfile_new_child(output_file_ole2, "5555tteesstt", false);
gsf_output_puts(output2, "The quick brown fox is afraid of the cats.\n");
ret = gsf_output_close(output2);
g_object_unref(G_OBJECT(output2));
gsf_output_close(GSF_OUTPUT(output_file_ole2));
g_object_unref(G_OBJECT(output_file_ole2));
ret = gsf_output_close(output);
g_object_unref(G_OBJECT(output));
gsf_shutdown();
return 0;
}