编写一个C程序,将文件作为命令行参数输入,并检测文件是否为JPEG(联合图像专家组) 。
方法:
- 我们将在执行代码时将图像作为命令行参数。
- 读取给定图像(文件)的前三个字节。
- 读取文件字节后,将其与JPEG文件的条件进行比较,即,如果给定文件的第一,第二和第三字节分别为0xff , 0xd8和0xff,则给定文件为JPEG file 。
- 否则它不是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基础课程》。