📜  C程序检查文件是否为JPEG文件

📅  最后修改于: 2021-10-28 02:47:25             🧑  作者: Mango

编写一个 C 程序,该程序输入一个文件作为命令行参数,并检测该文件是否为JPEG(联合图像专家组)

方法:

  1. 我们将在执行代码时给出一个图像作为命令行参数。
  2. 读取给定图像(文件)的前三个字节。
  3. 读取文件字节后,将其与JPEG文件的条件进行比较,即如果给定文件的第一个、第二个和第三个字节分别为0xff0xd80xff,则给定文件为JPEG文件
  4. 否则它不是JPEG 文件

下面是上述方法的实现:

// C program for the above approach
#include 
#include 
#include 
  
// Driver Code
int main(int argc, char* argv[])
{
    // If number of command line
    // argument is not 2 then return
    if (argc != 2) {
        return 1;
    }
  
    // Take file as argument as an
    // input and read the file
    FILE* file = fopen(argv[1], "r");
  
    // If file is NULL return
    if (file == NULL) {
        return 1;
    }
  
    // Array to store the char bytes
    unsigned char bytes[3];
  
    // Read the file bytes
    fread(bytes, 3, 1, file);
  
    // Condition for JPEG image
  
    // If the given file is a JPEG file
    if (bytes[0] == 0xff
        && bytes[1] == 0xd8
        && bytes[1] == 0xff) {
  
        printf("This Image is "
               "in JPEG format!");
    }
  
    // Else print "No"
    else {
  
        printf("No");
    }
  
    return 0;
}

输出:

想要从精选的视频和练习题中学习,请查看 C 基础到高级C 基础课程。