2012-10-15 3 views
0

Есть ли функция библиотеки C, чтобы получить расширение файла? Я знаю, что я могу самостоятельно создать функцию, чтобы получить расширение после '.' но не все файлы хранятся вместе с их расширениями, когда мы их читаем.Получить расширение файла в C

+0

вы ищете для расширения или типа файла? –

+0

Если файл не хранится с расширением, то как вы его можете получить? – Deepak

+3

Как вы ожидаете получить расширение, если оно не хранится с именем файла? Вы пытаетесь определить форматы файлов, такие как PNG и т. Д.? Если это то, что вы хотите сделать и не можете полагаться на расширение, вам нужно будет прочитать заголовки файлов. – paddy

ответ

4

Значит, вы хотели бы получить тип файла? Возможно, команда «файл» в Linux - это то, что вы хотите. Вы можете проверить его исходный код.

+0

Да, я думаю, это поможет. Как я могу это сделать? Можете ли вы мне помочь? –

3

Команда file в Linux использует библиотеку libmagic (не путайте с libmagick), чтобы проверить «магические» байты в самом файле, чтобы определить вероятный тип содержимого.

Библиотека достаточно кросс-платформенный, это хорошо документирована, например, здесь: http://linux.die.net/man/3/libmagic

Смежные вопросы