码迷,mamicode.com
首页 > 其他好文 > 详细

[C]判断一个文件是否是jpg格式

时间:2016-08-18 00:45:59      阅读:580      评论:0      收藏:0      [点我收藏+]

标签:

  同学要帮忙写的,用opencv的imread打开文件看抛出的异常来判断这种抖机灵的姿势就不写了…

  首先知道jpg文件是以0xFFD8开始,以0xFFD9结尾的。所以直接拿来fseek fread,异或一下或起来看看是不是0就行了。特别注意大小端的问题,所以我多提取了2个字节。

 

 1 bool IsAImageFile(const char* fileName) {
 2     FILE* fp;
 3     __int8_t head, tail;
 4     fp = fopen(fileName, "rb");
 5     fseek(fp, 1L, SEEK_CUR);
 6     fread(&head, 2, 1, fp);
 7     fseek(fp,-1L,SEEK_END);
 8     fread(&tail, 2, 1, fp);
 9     return (((head & 0x0000ffff) ^ 0x0000ffd8) | (tail & 0x0000ffff) ^ 0x0000ffd9) == 0;
10 }

 

[C]判断一个文件是否是jpg格式

标签:

原文地址:http://www.cnblogs.com/vincentX/p/5782230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!