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