linux下用c++写一个判断文件是否为bmp图片的代码
时间: 2024-05-08 09:17:40 浏览: 98
c++读写bmp图片
以下是一个简单的C代码示例,用于在Linux下判断文件是否为BMP图像:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
return 1;
}
FILE *file = fopen(argv[1], "rb");
if (!file) {
perror("Error opening file");
return 1;
}
char header[54];
if (fread(header, sizeof(char), 54, file) != 54) {
perror("Error reading file header");
return 1;
}
if (memcmp(header, "BM", 2) != 0) {
printf("%s is not a BMP file\n", argv[1]);
fclose(file);
return 0;
}
printf("%s is a BMP file\n", argv[1]);
fclose(file);
return 0;
}
```
该程序接受一个文件名作为命令行参数,并尝试打开该文件。然后,它读取文件头的前54个字节,并比较前两个字节是否为“BM”。如果是,则该文件被认为是BMP图像,否则它不是。最后,程序输出结果并关闭文件。
阅读全文