libmagic 是一个用来根据文件头识别文件类型的开发库。
栗子
#include <magic.h>
#include <stdio.h>
int main(int argc, char **argv) {
struct magic_set *cookie = NULL;
cookie = magic_open(MAGIC_MIME);
magic_load(cookie, NULL);
puts(magic_file(cookie, argv[1]));
magic_close(cookie);
return 0;
}
编译
sudo apt install libmagic-dev
gcc -o main main.c -lmagic
运行
./main ~/桌面/LibreOfficeDraw
结果
application/vnd.oasis.opendocument.graphics; charset=binary
(SAW:Game Over!)