これによりファイルが作成されますが、何も書き込まれません。
std::ofstream outstream;
FILE * outfile;
outfile = fopen("/usr7/cs/test_file.txt", "w");
__gnu_cxx::stdio_filebuf<char> filebuf(outfile, std::ios::out);
outstream.std::ios::rdbuf(&filebuf);
outstream << "some data";
outstream.close();
fclose(outfile);
出力を達成するための他の簡単な解決策があることは知っていますが、この非標準の filebuf を使用して編集中にファイルをロックし、他のプロセスがファイルを開くことができないようにする必要があります。なぜこれが機能しないのかわかりません。