Я использую 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 есть метод записи, но я не мог понять, как его использовать, где я мог бы указать свой собственный массив байтов для записи.