/*************************************************** file name:GetBmpInfo.c* author :momolyl@126.com* date :2024/05/11* brief :利用系统IO读取磁盘上指定BMP图片的宽和高,以及BMP图片的大小,* 并输出到终端,要求图片名称通过命令行传递。* note :None** CopyRight (c) 2024 momolyl@126.com All Right Reseverd***************************************************/
#include "BmpInfoStruct.c"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
/*************************************************** func name :GetBmpInfo.c* brief :* func parameter:*** return :None* note :None* func author :momolyl@126.com* date :2024/04/25* version :V1.0**************************************************/
int main(int argc, const char *argv[])
{// 1.判断传入的参数是否有效if (2 != argc){printf("argment is invalid!\n");return -1;}// 2.打开指定的bmp文件int fb = open(argv[1], O_RDWR);if (-1 == fb){printf("open file is failed!\n");return -1;}// 3.读取文件中需要的数据BmpFileHeader_t Info1;BmpInfoHeader_t Info2;read(fb, &Info1, 14);read(fb, &Info2, 40);printf("bmp size =%d\n", Info1.bfSize);printf("bmp width =%d\n", Info2.biWidth);printf("bmp height =%d\n", Info2.biHeight);return 0;
}
运行结果: