使用C / C ++读/写文件元数据

时间:2010-05-13 07:07:10

标签: c++ c xml metadata

通过网络搜索,无法找到使用C或C ++读/写文件元数据的方法,但是,有一些工具可用于此,并且还有C#和Java中的API来执行此操作。但我想在C或C ++中从头开始。

例如,读/写图像元数据。

发现有三种格式将元数据写入文件。 EXIF,IPTC和XMP。

感谢。

2 个答案:

答案 0 :(得分:4)

有不同的解决方案。一种是定义一个结构(但要确保字段对齐是正确的),然后读取数据,并使用该结构访问字段。琐碎的例子:

struct header {
    uint32_t len;
    unsigned char type;
    char name[16];
};

struct header hdr;

read(fd,&hdr,sizeof(hdr));

... access your fields using the structure ...

主题比这更复杂;)但是由于你没有指定更多,我认为这仍然可以帮助一点。

答案 1 :(得分:4)

你为什么要从头开始做?

无论如何,您需要文档,您可能还想查看现有的库以寻求帮助,特别是如果您没有该领域的经验。

您是否尝试过Exiv

  

Exiv2是一个C ++库和一个命令   行实用程序来管理图像元数据。   它提供快速简便的阅读和   写访问Exif,IPTC和XMP   各种格式的图像元数据。   Exiv2作为免费软件提供   和商业许可证,是   用于许多项目。

相关问题