DCMTK を使用して DICOM ファイルをディスクに書き込んでいますが、これは非常にうまく機能します。だから、私は簡単に次のようにします:
DcmDataset * ds = image->dcm_file_format->getDataset();
// Modify DICOM as needed...
DcmFileFormat file_format(ds);
file_format.saveFile(filename);
これは非常にうまく機能します。ただし、内容をメモリバッファに書き込みたいと思います。そこで、次のようなことをしたいと思います。
char * buffer = new char[file_length];
そして、何らかの方法で file_format を使用して、ファイルの代わりにこのバッファーに書き込みます。DcmFileFormat に「書き込み」メソッドがあることがわかりましたが、書き込み先として独自のバイト配列を指定できる場所での使用方法がわかりませんでした。