受客户委托开发一种,可以识别文件类型的软件。
从网上找了一些资料,最后决定使用 TrID 编写一个VC++程序。
TrID这个文件分析库,现在可以识别多达3000种文件,而且分析的时候还会给出可能性
#include "tridlib.h"
#include "stdio.h"
int main(int argc, char*argv)
{
int ret;
trid trd("");
trd.SubmitFileA("d:/temp/不怕不怕.mp3");
ret = trd.Analyze();
if(ret)
{
char buf[260];
*buf = 0;
ret = trd.GetInfo(TRID_GET_RES_NUM,0,buf);
for(int i=0;i< = ret; i++)
{
trd.GetInfo(TRID_GET_RES_FILETYPE,i,buf);
printf("File type: %s\n",buf);
trd.GetInfo(TRID_GET_RES_FILEEXT,i,buf);;
printf("File ext: .%s\n",buf);
trd.GetInfo(TRID_GET_RES_POINTS,i,buf);
printf("Matching points: %d\n\n",ret);
}
}
else
puts("analyze:(");
return 0;
}
需要下载 TrIDDefs.TRD 和 TrIDLib.dll 放到 生成的exe同级目录下。
需要注意的是,我使用VS2010测试此程序,不能直接 F5 调试运行 ,那样不能识别文件,需要手动进入生成的debug目录下,双击运行即可。如果想双击后程序不关闭。可以加一句 system("pause"); 即可
- 上一篇:VC++ 设置某个窗口不在任务栏显示
- 下一篇:vs2010 无法连接 tfs