利用系统IO读取磁盘上指定BMP图片的宽和高,以及BMP图片的大小, 并输出到终端,要求图片名称通过命令行传递

news/2024/9/27 23:34:30
/***************************************************   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;
}

运行结果:
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/30411.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Scrum冲刺5--5.11

Scrum冲刺4--5.10这个作业属于哪个课程 软件工程这个作业要求在哪里 团队项目这个作业的目标 进行敏捷冲刺,熟悉团队合作开发前端仓库 前端后端仓库 后端每次冲刺日志索引时间 博客5.7 Day1ᕙ(`▿)ᕗ5.8 Day2ᕙ(• ॒ ູ•)ᕘ5.9 Day3(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ )5.10 Day4 (…

AtCoder Beginner Contest 353

持续掉分A - Buildings (abc353 A) 题目大意 给定\(n\)个数字,输出第一个大于第一个数的下标。 解题思路 依次与第一个数比较,大于则输出。神奇的代码 n = input() a = list(map(int, input().split())) b = [i > a[0] for i in a] if True not in b:print(-1) else:print…

Scurm冲刺第六天

Scurm冲刺第六天 1. 站立式会议内容昨日已完成任务 今日计划完成任务前端UI设计代码编写(购物车页面,订单页面,订单详情页,搜索后商品展示页) 前后端接口设计与交互实现,前端界面合理跳转功能实现后端管理员模块功能实现(商品信息管理功能实现,订单管理实现) 前端UI设计…

项目冲刺day4

这个作业属于哪个课程 软工4班这个作业要求在哪里 作业要求1.会议1. 照片2. 昨日已完成: 用户中心功能、订单管理功能3.今天计划完成的工作 完成商品管理、图标功能,部分完成文件修改上传功能4.工作中遇到的困难 出现许多未知报错,正为此查询资料...2.燃尽图3.每人的代码签入…

全局变量和局部变量以及静态修饰作用

1,全局变量和全局静态变量 a、全局变量:全局变量存放在静态存储区,作用域是全局(对比下面添加static),整个声明周期都可以使用,其他文件如需要使用,需要添加extern b、全局静态变量 (static):分配的内存与全局变量一样,也是在静态存储内存上,其生命周期也是与整个…

在 Kubernetes 上运行 Apache Spark 进行大规模数据处理的实践

在刚刚结束的 Kubernetes Community Day 上海站,亚马逊云科技在云原生分论坛分享的“在 Kunernets 上运行 Apache Spark 进行大规模数据处理实践”引起了现场参与者的关注。开发者告诉我们,为了充分利用 Kubernetes 的高可用设计、弹性,在越来越多的应用场景中,他们选择从 …

C语言实现获取BMP文件信息

C语言实现获取BMP文件信息通过命令行传递文件路径参数,输出BMP的width、height、size 1、从BMP的结构信息可知,文件大小、图片宽度、图片高度均占据4个字节,所以只需要打开文件读取对应位置的信息并打印即可。 2、为了提高可移植性,可以定义结构体,保持和BMP文件结构一致,…

系统IO常用函数接口

本文整理归纳了几种常用的系统IO的函数借口,以供读者查阅使用 目录系统IO与标准IO的区别打开文件:open关闭文件:close文件读取:read文件写入:write位置偏移:lseek 系统IO与标准IO的区别 1.标准IO可以看成是在系统IO的基础上封装了缓冲机制。 2.标准IO在内核中使用链表的管…