网上的DCMTK安装教程中大多都有类似如下一段示例代码,但在运行时总是报错:DCM_PatientName是未定义标识符,在经历了一下午的郁闷纠结挣扎之后终于发现其应该是DCM_PatientsName,记录在此以警示。
还有加了getchar()函数是防止出现控制台程序一闪而过的现象。
#include "stdafx.h"
#include <stdio.h>
#include "dcmtk\config\osconfig.h"
#include "dcmtk\dcmdata\dctk.h"
int main(void)
{
DcmFileFormat fileformat;
OFCondition status = fileformat.loadFile("D:\\test.dcm");
if (status.good())
{
OFString patientName;
if (fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientName).good())//此处应为DCM_PatientsName,而非DCM_PatientName
{
cout << "Patient's Name: " << patientName << endl;
}
else
cerr << "Error: cannot access Patient's Name!" << endl;
}
else
cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;
getchar();
return 0;
}