Метаданные файла чтения-записи с помощью C/C++

Перерытый сеть, could't находят путь к метаданным файла чтения-записи с помощью C или C++, однако, существуют инструменты, доступные для этого, и также существует API в C# и Java, чтобы сделать это. Но я хочу сделать это с нуля в C или C++.

Например, метаданные изображения чтения-записи.

Узнали, что существует три формата, в которых метаданные записаны в файлы. EXIF, IPTC и XMP.

Спасибо.

6
задан skaffman 13 May 2010 в 07:28
поделиться

2 ответа

Почему вы хотите сделать это с нуля?

В любом случае, вам нужна документация, и вы также можете посмотреть на существующую библиотеку для помощи, особенно если у вас нет опыта в этой области.

Пробовали ли вы Exiv ?

Exiv2 - это библиотека C++ и утилита командной строки для управления метаданными изображений. утилита командной строки для управления метаданными изображений. Она обеспечивает быстрый и простой доступ для чтения и доступ на запись к метаданным Exif, IPTC и XMP метаданным изображений в различных форматах. Exiv2 доступен как свободное программное обеспечение и с коммерческой лицензией, и используется во многих проектах.

4
ответ дан 16 December 2019 в 21:36
поделиться

Есть разные решения. Один из них - определить структуру (но убедитесь, что выравнивание полей правильное), затем прочитать данные и использовать структуру для доступа к полям. Тривиальный пример:

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 ...

Тема немного сложнее этой;) Но поскольку вы не указали намного больше, я думаю, что это все же может немного помочь.

4
ответ дан 16 December 2019 в 21:36
поделиться