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

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

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

[C]判断一个文件是否是jpg格式的更多相关文章

  1. C# 判断一个string型的时间格式是否正确

    在项目开发过程中,由于各种坑爹的需求,我们可能需要用户自己手动输入时间,不过这种功能一般都出现在自己家的后台里面,咳咳,言归正传.既然如此,那么这个时候我们就需要对用户手动输入的时间格式进行验证,方法 ...

  2. 如何用Python判断一个文件是否被占用?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为ac ...

  3. 如何检测或判断一个文件或字节流(无BOM)是什么编码类型

    前言: 昨天,在文章:终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了 中, 不小心看到一条留言: 然后就去该地址看了一下,这一看,顺带折腾了一天. 今天 ...

  4. PHP判断一个文件是否能够被打开

    <?php // 需求:因为系统涉及大量的文档知识库,用户可以在线进行查看.为了验证文档是否正常打开.先需要从数据库取出路径和文件名,判断是否可以从对应的路径下打开文件.header(" ...

  5. windows10UWP:如何判断一个文件或者文件夹是否存在?

    使用 StorageFolder.TryGetItemAsync 方法,尝试按名称获取文件或文件夹,不需将错误捕捉逻辑添加到代码(就像使用 StorageFolder.GetItemAsync 一样) ...

  6. Delphi判断一个文件是不是JPG图片

    判断头几个字节: function IsJpegFile(FileName: string): Boolean; const RightBuf : ..] of Byte = ($FF,$D8,$FF ...

  7. VC++ 判断一个文件是不是快捷方式

    转载:https://bbs.csdn.net/topics/34999 #include <iostream> #include <Shlobj.h> #include &l ...

  8. pipeline语法之判断一个文件存在与否

    先看一个例子,原理,根据命令返回的状态值来判断它的存在与否 pipeline { agent any stages { stage("check file if exists"){ ...

  9. #JS# 如何判断一个字符串是否为日期格式

    var data = “2018-12-09”; //返回为false则是日期格式;isNaN(data)排除data为纯数字的情况(此处不考虑只有年份的日期,如‘2018’) if(isNaN(da ...

随机推荐

  1. NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏

    这题目看一眼以为难度评级出错了,只是一个求余数的题目,,后来才发现,位数小于百万位,,,我还以为是大小小于百万呢,所以借鉴了另一大神的代码, 用大数,重点是同余定理: (a+b)mod m=((a m ...

  2. 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身

    年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...

  3. 使用fwrite()函数和fprintf()函数输出数据到文件时的区别

    使用书上的一个课后题为例 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学号,姓名,3们课程成绩),计算出每个学生的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中. ...

  4. 批量安装操作系统之cobbler

    Cobbler 部署文档 服务端配置 操作系统:Centos6.4 关闭防火墙及 selinux 安装cobbler软件 添加yum源 rpm -Uvh https://dl.fedoraprojec ...

  5. Mac下配置Maven

    1.Java环境变量设置就不说. 但是配置Maven需要检查下Java环境变量的设置.需要检查JAVA_HOME环境变量以及Java命令 wanyakundeMacBook-Pro:Library w ...

  6. 使用 polyfills 的简易方法

    本文作者为 Andrew Betts 与 Robert Nyman.Andrew 是金融时报(Financial Times)实验室主任,该实验室旨在金融时报开发并推广实践性的 Web 技术.Robe ...

  7. Android 内存剖析 – 发现潜在问题

    简介 移动平台上的开发和内存管理紧密相关.尽管随着科技的进步,现今移动设备上的内存大小已经达到了低端桌面设备的水平,但是现今开发的应用程序对内存的需求也在同步增长.主要问题出在设备的屏幕尺寸上-分辨率 ...

  8. java Timer类

    java.util 类 Timer java.lang.Object java.util.Timer public class Timerextends Object 一种工具,线程用其安排以后在后台 ...

  9. ubuntu安装 scala

    1. 配置路径 sudo gedit /etc/profile 2.在文件后面加入 export PATH=/home/sendi/scala-/bin:$PATH 3.更新 source /etc/ ...

  10. (9)nehe教程3--添加颜色

    添加颜色: 作为第二课的扩展,我将叫你如何使用颜色.你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色. 上一课中我教给您三角形和四边形的绘制方法.这一课我将教您给三角形和四边 ...