我嘗試使用此代碼:嘗試使用第三部分庫,libmagic
#include <stdio.h>
#include <magic.h>
int main(void)
{
char *actual_file = "/file/you/want.yay";
const char *magic_full;
magic_t magic_cookie;
magic_cookie = magic_open(MAGIC_MIME);
if (magic_cookie == NULL) {
printf("unable to initialize magic library\n");
return 1;
}
printf("Loading default magic database\n");
if (magic_load(magic_cookie, NULL) != 0) {
printf("cannot load magic database - %s\n", magic_error(magic_cookie));
magic_close(magic_cookie);
return 1;
}
magic_full = magic_file(magic_cookie, actual_file);
printf("%s\n", magic_full);
magic_close(magic_cookie);
return 0;
}
當執行此代碼它出現在messagge:「無法加載魔數據庫」。爲什麼?我不明白是什麼原因......。
編譯我使用visual studio 2010,沒有任何生成錯誤。
您的代碼中沒有任何內容是C++,全是C. –
關於錯誤,請給出_full_錯誤消息,代碼會從庫中打印出錯誤消息。 –
什麼是第9行中的「MAGIC_MIME」?它看起來像一個const或#define。也許你檢查這個magic_open()函數需要什麼。 – marscode