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

📅  最后修改于: 2021-05-28 04:39:28             🧑  作者: Mango

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

方法:

  1. 我们将在执行代码时将图像作为命令行参数。
  2. 读取给定图像(文件)的前三个字节。
  3. 读取文件字节后,将其与JPEG文件的条件进行比较,即,如果给定文件的第一,第二和第三字节分别为0xff0xd80xff,则给定文件为JPEG file
  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基础课程》。