在C程序中包含UNIX实用程序'file'

tux*_*ind 0 c linux mime-types

我正在用C编写程序,我需要知道文件的mime类型.

我还在谷歌搜索,我发现我必须在我的项目中包含'文件'UNIX实用程序.

file需要configure和的源代码make.我如何在我的项目中包含这个?我一定要源代码的一部分裁剪到一个新的file.cfile.h

Mic*_*ior 6

你想根据扩展名猜测MIME类型,或做类似的事情file并检查标题?

要获得类似的功能file,您不需要包含file在项目中.相反,你会想要使用file基于的libmagic .不幸的是,我不知道这方面有很好的文档来源,但它非常简单.

magic_t magic = magic_open(MAGIC_MIME_TYPE);
magic_load(magic, NULL);
char *mime_type = magic_file(magic, "/path/to/file");
magic_close(magic);
Run Code Online (Sandbox Code Playgroud)