通过网络搜索,无法找到使用C或C ++读/写文件元数据的方法,但是,有一些工具可用于此,并且还有C#和Java中的API来执行此操作。但我想在C或C ++中从头开始。
例如,读/写图像元数据。
发现有三种格式将元数据写入文件。 EXIF,IPTC和XMP。
感谢。
答案 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作为免费软件提供 和商业许可证,是 用于许多项目。