c++ - 在 DCMTK 中将 OFString 转换为字符串或字符

标签 c++ opencv image-processing dcmtk

我正在尝试使用 dcmtk 从 DICOM 图像中提取实例编号。代码如下所示:

DcmFileFormat fileformat;
    OFCondition status = fileformat.loadFile(src_path);
    if (status.good())
      {
        OFString instanceNumber=0;
        if (fileformat.getDataset()->findAndGetOFString(DCM_InstanceNumber, instanceNumber).good())
        {
            std::cout << "instance Number N: " << instanceNumber << std::endl;
            sprintf(instanceNum, "%s\n", instanceNumber);

            printf("%s\n", instanceNum);
        }
        else
            std::cerr << "Error: cannot access instance Number!" << std::endl;
       }
    else
        std::cerr << "Error: cannot read DICOM file (" << status.text() << ")" << std::endl;

现在我得到了实例编号,但我想将实例编号复制到一个字符或字符串中(以便进一步编程)。但是由于该数字是一个 OFString,我如何将其转换为所需的数据类型。有什么想法吗?

最佳答案

实际上,OFString 实现了 std::string 的一个子集,因此如果您想要获得其他人已经建议的“const char*”,您可以使用 c_str()。或者,您也可以使用定义的 HAVE_STD_STRING 编译 DCMTK,并且 OFString 与 std::string 相同。

当然,所有这些也都在文档中进行了描述。

关于c++ - 在 DCMTK 中将 OFString 转换为字符串或字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35170255/

相关文章:

c++ - 适合中级程序员成为专家程序员的好 C++ 书籍?

c++ - 重印选项列表

c++ - 在 C++ 中包含 .txt 文件中的文本以获得学分的问题

python - 获取颜色的第一个和最后一个位置

c++ - OpenCv:无法打开 Kinect 的捕获对象

java - Java 中的 OpenCV 用于图像过滤

c++ - 如何使用 Blob 检测器

python - 在 skimage 中找不到度量标准的模块。其他都ok

python - 图像傅立叶变换的实现

c++ - directx 9 找不到包含库