Чтение / запись метаданных файла с использованием C / C ++ - PullRequest
6 голосов
/ 13 мая 2010

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

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

Обнаружили, что есть три формата, в которых метаданные записываются в файлы. EXIF, IPTC и XMP.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 13 мая 2010

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

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

Вы пробовали Exiv ?

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

4 голосов
/ 13 мая 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...