当前位置: 首页 > wzjs >正文

海口网球场新站seo优化快速上排名

海口网球场,新站seo优化快速上排名,软件下载网站模板,微信分享 淘宝网站 怎么做文件IO 概念:程序和文件系统之间的数据交互 特点:无缓冲区、不可移植、可访问多种文件类型、属系统调用、使用文件描述符 文件描述符 本质:数组下标,默认1024个,范围[0 - 1023]申请规则:从小到大分配未申请…

文件IO

  1. 概念:程序和文件系统之间的数据交互
    • 特点:无缓冲区、不可移植、可访问多种文件类型、属系统调用、使用文件描述符
  2. 文件描述符
    • 本质:数组下标,默认1024个,范围[0 - 1023]
    • 申请规则:从小到大分配未申请的
    • 特殊描述符:stdin(0)、stdout(1)、stderr(2)
  3. 文件IO函数
    • open:打开文件
      • 参数:路径文件名、访问模式(必选一种,可添加其他选项)、权限(与O_CREAT有关)
      • 返回值:成功新描述符,失败-1
    • umask:文件权掩码
      • 查看:umask命令
      • 修改:shell指令或函数
    • close:关闭文件,参数为文件描述符
    • write:写入数据,返回写入字节数
    • read:读取文件,返回读取字符数
    • lseek:文件指针偏移
      • 参数:文件描述符、偏移量、起始位置
      • 返回值:起始到当前位置偏移量

获取文件信息

  1. stat:获取文件信息(不包括软链接)
    • 参数:路径文件名、存储信息结构体
    • 返回值:成功0,失败-1
  2. getpwuid:根据用户id获取用户信息
  3. getgrgid:根据组id获取组信息
  4. 获取文件类型和权限
    • 文件类型:由st_mode高4位决定
    • 权限:由st_mode第9位决定

目录相关函数

  1. opendir:打开目录,返回目录流指针
  2. closedir:关闭目录流指针
  3. readdir:读取目录信息,返回结构体

作业:

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include "headhs.h"
int main(int argc, const char *argv[])
{// 打开 BMP 文件int fd = open("xiaoxin.bmp", O_RDONLY);if (fd < 0)pt_er("打开文件失败");// ------------------------- 文件头 (14字节) -------------------------// 1. 读取文件类型 (偏移 0x00, 2字节)unsigned short bfType;lseek(fd, 0x00, SEEK_SET);if (read(fd, &bfType, sizeof(bfType)) <= 0)pt_er("读取文件类型失败");if (bfType != 0x4D42)  // "BM" 的十六进制小端表示是 0x424D,但需根据系统字节序调整pt_er("非标准BMP文件(需为BM类型)");printf("文件类型: 0x%04X (BM)\n", bfType);// 2. 读取文件大小 (偏移 0x02, 4字节)unsigned int bfSize;lseek(fd, 0x02, SEEK_SET);if (read(fd, &bfSize, sizeof(bfSize)) <= 0)pt_er("读取文件大小失败");printf("文件大小: %u 字节\n", bfSize);// 3. 读取像素数据偏移量 (偏移 0x0A, 4字节)unsigned int bfOffBits;lseek(fd, 0x0A, SEEK_SET);if (read(fd, &bfOffBits, sizeof(bfOffBits)) <= 0)pt_er("读取像素数据偏移量失败");printf("像素数据偏移量: %u 字节\n", bfOffBits);// ---------------------- 位图信息头 (40字节) ----------------------// 4. 读取信息头大小 (偏移 0x0E, 4字节)unsigned int biSize;lseek(fd, 0x0E, SEEK_SET);if (read(fd, &biSize, sizeof(biSize)) <= 0)pt_er("读取信息头大小失败");printf("信息头大小: %u 字节\n", biSize);// 5. 读取图像宽度 (偏移 0x12, 4字节)int biWidth;lseek(fd, 0x12, SEEK_SET);if (read(fd, &biWidth, sizeof(biWidth)) <= 0)pt_er("读取图像宽度失败");printf("宽度: %d 像素\n", biWidth);// 6. 读取图像高度 (偏移 0x16, 4字节)int biHeight;lseek(fd, 0x16, SEEK_SET);if (read(fd, &biHeight, sizeof(biHeight)) <= 0)pt_er("读取图像高度失败");printf("高度: %d 像素\n",biHeight);// 7. 读取位平面数 (偏移 0x1A, 2字节)                                                    unsigned short biPlanes;lseek(fd, 0x1A, SEEK_SET);if (read(fd, &biPlanes, sizeof(biPlanes)) <= 0)pt_er("读取位平面数失败");printf("位平面数: %hu\n", biPlanes);// 8. 读取每像素位数 (偏移 0x1C, 2字节)unsigned short biBitCount;lseek(fd, 0x1C, SEEK_SET);if (read(fd, &biBitCount, sizeof(biBitCount)) <= 0)pt_er("读取每像素位数失败");printf("每像素位数: %hu\n", biBitCount);// 9. 读取压缩方式 (偏移 0x1E, 4字节)unsigned int biCompression;lseek(fd, 0x1E, SEEK_SET);if (read(fd, &biCompression, sizeof(biCompression)) <= 0)pt_er("读取压缩方式失败");printf("压缩方式: %u (0=无压缩)\n", biCompression);// 10. 读取图像数据大小 (偏移 0x22, 4字节)unsigned int biSizeImage;lseek(fd, 0x22, SEEK_SET);if (read(fd, &biSizeImage, sizeof(biSizeImage)) <= 0)pt_er("读取图像数据大小失败");printf("图像数据大小: %u 字节\n", biSizeImage);// 11. 读取水平分辨率 (偏移 0x26, 4字节)int biXPelsPerMeter;lseek(fd, 0x26, SEEK_SET);if (read(fd, &biXPelsPerMeter, sizeof(biXPelsPerMeter)) <= 0)pt_er("读取水平分辨率失败");printf("水平分辨率: %d 像素/米\n", biXPelsPerMeter);// 12. 读取垂直分辨率 (偏移 0x2A, 4字节)int biYPelsPerMeter;lseek(fd, 0x2A, SEEK_SET);if (read(fd, &biYPelsPerMeter, sizeof(biYPelsPerMeter)) <= 0)pt_er("读取垂直分辨率失败");printf("垂直分辨率: %d 像素/米\n", biYPelsPerMeter);// 13. 读取使用的颜色数 (偏移 0x2E, 4字节)unsigned int biClrUsed;lseek(fd, 0x2E, SEEK_SET);if (read(fd, &biClrUsed, sizeof(biClrUsed)) <= 0)pt_er("读取使用的颜色数失败");printf("使用的颜色数: %u\n", biClrUsed);// 14. 读取重要颜色数 (偏移 0x32, 4字节)unsigned int biClrImportant;lseek(fd, 0x32, SEEK_SET);if (read(fd, &biClrImportant, sizeof(biClrImportant)) <= 0)pt_er("读取重要颜色数失败");printf("重要颜色数: %u\n", biClrImportant);// 关闭文件:close(fd);return 0;
}

http://www.dtcms.com/wzjs/162667.html

相关文章:

  • 简要说明开发网站的步骤新疆疫情最新情况
  • 大发快三网站自做免费建立一个网站
  • 岳阳建设商城网站公司百度指数的需求指数
  • 山西住房与城乡建设部网站广告平台推广渠道
  • 西安自助建站做网站seo排名技巧
  • wordpress后台菜单管理seo外包公司一般费用是多少
  • 网站制作五个界面市场营销策划案的范文
  • 珠海软件开发公司抖音seo公司
  • 网站标题的写法微信推广软件有哪些
  • 长葛网站制作seo的搜索排名影响因素主要有
  • 济南资海网站建设公司seo是搜索引擎营销吗
  • 北京网站建设备案英文seo实战派
  • 河间哪里有做网站的seo的定义
  • 电子商务网站建设题目最常用的几个关键词
  • c# 网站开发教程aso是什么意思
  • 甜品网站网页设计代码内容营销的4个主要方式
  • wordpress好吗杭州seo哪家好
  • 义乌网站建设公司排名软文营销范文
  • wordpress怎么编辑网站seo优化是啥
  • 柳州网站定制营销策略ppt
  • 阿里云企业网站备案流程搜索引擎查重
  • 建设网站投资多少钱论坛推广方案
  • 如何做优化网站排alexa优化关于普通话的手抄报
  • 江苏建设是国企吗杭州seo 云优化科技
  • 团购网站建设免费b站推广网址有哪些
  • 如何建网站服务器整合网络营销公司
  • 制作网站软件linux网站入口
  • 给别人做网站别人违法经营行业网站网址
  • 主题资源网站建设步骤百度客服中心电话
  • 网站开发应该注意什么网店代运营公司靠谱吗