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

  同学要帮忙写的,用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 }
时间: 2024-12-20 12:48:56

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

判断一个文件里面有多少各种格式的图片

<?php $count=0; $bmp=0; $png=0; function show($p){ global $count; global $bmp,$png; $i=scandir($p);//在浏览器上输出文件夹里面的内容 echo '<pre>'; foreach($i as $v){ if($v=='.'|| $v=='..'){//去掉浏览器上显示的本级目录及上级目录 continue; } $pp=$p.'/'.$v; if(is_dir($pp)){//判断是不是一个

判断一个文件是否存在

头文件     #include<unistd.h>函数    int access(const char * pathname, int mode);说明    access()会检查是否可以读/写某一已存在的文件.参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK.R_OK,W_OK与X_OK用来检查文件是否具有读取.写入和执行的权限.F_OK则是用来判断该文件是否存在.由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表

判断一个文件是否是指定后缀名的文件

package com.toogen.log4j; import java.io.File; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class FileTest { private static Log log = LogFactory.getLog(FileTest.class); /** * 测试 * @param args */ public s

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

在项目开发过程中,由于各种坑爹的需求,我们可能需要用户自己手动输入时间,不过这种功能一般都出现在自己家的后台里面,咳咳,言归正传.既然如此,那么这个时候我们就需要对用户手动输入的时间格式进行验证,方法如下: //判断一个string型的时间格式是否正确 string inputTime = "2014年05月20日"; DateTime dateTime = new DateTime(); bool convertResult = DateTime.TryParse(inputTime

关于判断一个文件是否是class文件

最近看到一篇文章,其中有一行代码是判断class文件类型的,代码片段: InputStream is = new InputStream("Test.Class"); DataInputStream dis;         if (is instanceof DataInputStream)             dis = (DataInputStream) is;         else             dis = new DataInputStream(is);  

Python判断一个文件中的字符串是否存在于另外一个文件中

最近市场部的同事让我帮忙处理一个两个文件,判断A文件的内容是否在B文件中存在,如果存在则打印出B文件中的内容,想了下,就目前用shell很简单实现,用Python如何实现呢?下面是具体代码: shell代码: #!/bin/bash for line in `cat /root/zy/audiolist.txt` do       files=`cat /root/zy/list.txt|grep "$line"|wc -l`       if [ -n $files ]       

如何快速判断一个文件是否为病毒

先说一下写这篇文章的背景和目的.现在吾爱的『原创发布区』和『精品软件区』人气很旺,发布的软件非常多.但也有一些小人,在发布的软件里插些小玩具,当灰客.论坛派专人检测也是很困难的,工作量太大,查不过来,因此很大程度上要靠用户自己识别,于是就有了这篇文章.需要说明一下的是,这篇文章主要是快速辨别正常文件与病毒,我自己也不是专业人员,方法是我自己总结出来的,很业余,不过我觉得还是有些用处的.如果你有更好的办法,欢迎跟帖提出.下面正文开始. 分析一个文件是否为病毒有多种方法,比如用OD这样的调试器,用H

iOS如何判断一个文件夹是否存在

- (void)createFileDirectories { // 判断存放音频.视频的文件夹是否存在,不存在则创建对应文件夹 NSFileManager *fileManager = [NSFileManagerdefaultManager]; BOOL isDir = FALSE; BOOL isDirExist = [fileManager fileExistsAtPath:DOCUMENTS_FOLDER_AUDIOisDirectory:&isDir]; if(!(isDirExis

如何判断一个文件是否存在的几种方法

1, int _access( const char *path, int mode ); 要判断的模式 在头文件unistd.h中的预定义如下: #define R_OK 4 /* Test for read permission. */ #define W_OK 2 /* Test for write permission. */ #define X_OK 1 /* Test for execute permission. */ #define F_OK 0 /* Test for exis