文件IO思维导图和练习题

ops/2025/3/6 11:48:59/

思维导图

 练习:

1.使用文件IO读取图片 文件大小、文件偏移量,宽度,高度

#include <head.h>
int main(int argc, const char *argv[])
{int fd=open("/home/ubuntu/3.5/xiaoxin.bmp",O_RDONLY);if(fd==-1)PRINT_ERROR("open error");//大小int size;printf("fd=%d\n",fd);lseek(fd,2,SEEK_SET);if(read(fd,&size,sizeof(size))<=0){PRINT_ERROR("read error");return -1;}printf("文件大小为%d\n",size);//文件偏移量lseek(fd,4,SEEK_CUR);int res;if(read(fd,&res,4)<=0){PRINT_ERROR("read error");}printf("偏移量大小为%d\n",res);//宽lseek(fd,4,SEEK_CUR);int wide;read(fd,&wide,4);printf("文件宽为:%d\n",wide);//高lseek(fd,0,SEEK_CUR);int h;read(fd,&h,4);printf("文件高为:%d\n",h);close(fd);return 0;
}

 

2.向一个程序中输入文件名,判断指定目录下是否有这个文件,如果有这个文件,

将这个文件的属性信息输出。如果不存在输出不存在即可。

#include <head.h>
int main(int argc, const char *argv[])
{const char * dirname=argv[1];const char * filename=argv[2];DIR *d=opendir(dirname);if(d==NULL)PRINT_ERROR("opendir error");struct dirent *entry;struct stat file_stat;char file_path[1024];int found=0;while ((entry = readdir(d)) != NULL) {if (strcmp(entry->d_name, filename) == 0) {snprintf(file_path, sizeof(file_path), "%s/%s", dirname, filename);if (stat(file_path, &file_stat) == -1) {PRINT_ERROR("获取文件信息失败");}printf("文件存在,属性信息如下:\n");printf("文件路径: %s\n", file_path);printf("文件大小: %ld 字节\n", file_stat.st_size);printf("文件权限: %o\n", file_stat.st_mode & 0777);printf("文件硬链接数: %ld\n", file_stat.st_nlink);struct tm *tm_info = localtime(&file_stat.st_mtime);if (tm_info == NULL){PRINT_ERROR("localtime error");}printf("最后修改的时间:%d-%d-%d %d:%d:%d\n",tm_info->tm_year+1900,tm_info->tm_mon+1,tm_info->tm_mday,tm_info->tm_hour,tm_info->tm_min,tm_info->tm_sec);found = 1;break;}}if(!found){printf("文件不存在\n");}if(closedir(d)==-1)PRINT_ERROR("closedir error");return 0;
}


http://www.ppmy.cn/ops/163593.html

相关文章

Element-Plus悬浮窗模板

效果图 参考代码 <!-- 自定义笔记本弹窗 --><el-dialog v-model"dialogVisible" title"新建笔记本" width"400px"><el-form :model"newNotebook" label-width"80px"><el-form-item label"名称&q…

六十天前端强化训练之第九天之数组操作方法

欢迎来到编程星辰海的博客讲解 目录 一、数组操作方法知识讲解 1. 基础操作方法 2. 遍历与转换方法 3. 查找与判断方法 4. 其他实用方法 二、核心代码示例 三、实现效果说明 四、学习要点总结 五、扩展阅读推荐 六、案例&#xff1a;使用 map/filter 实现数据筛选转换…

Mac 基于 Ollama 安装 DeepSeek-R1(蒸馏版本)、AnythingLLM 及使用体验

文章目录 Mac 基于 Ollama 安装 DeepSeek-R1&#xff08;蒸馏版本&#xff09;、AnythingLLM 及使用体验Ollama 简介下载与安装 Ollama下载并运行 DeepSeek-R11. 在终端运行&#xff08;建议从 8B 开始&#xff09;2. 本地模型存储路径3. 终端测试4. 查询服务状态5. 退出服务 下…

华为云IAM 用户名和IAM ID

账号 当您首次使用华为云时注册的账号&#xff0c;该账号是您的华为云资源归属、资源使用计费的主体&#xff0c;对其所拥有的资源及云服务具有完全的访问权限&#xff0c;可以重置用户密码、分配用户权限等。账号统一接收所有IAM用户进行资源操作时产生的费用账单。 账号不能…

[css] line-height如何继承

line-height继承&#xff0c;一共有以下3种情况&#xff1a; <body><p>这是一行文字</p> </body>写具体数值&#xff0c;则直接继承该值。 body {font-size: 20px;line-height: 50px; /* 数值 */ } p {font-size: 10px; }<p> 元素 line-height…

Python项目-基于深度学习的校园人脸识别考勤系统

引言 随着人工智能技术的快速发展&#xff0c;深度学习在计算机视觉领域的应用日益广泛。人脸识别作为其中的一个重要分支&#xff0c;已经在安防、金融、教育等多个领域展现出巨大的应用价值。本文将详细介绍如何使用Python和深度学习技术构建一个校园人脸识别考勤系统&#…

嵌入式L6计算机网络

Telnet不加密 socket是应用层和下面的内核

城市管理综合执法系统源码,B/S模式与手机等移动终端架构,java语言开发,可扩展性强

随着中国城市化进程的加快&#xff0c;城市管理中的各种问题越来越突出&#xff0c;城市管理中信息渠道不畅&#xff0c;问题无法及时准确的反映到政府各职能部门&#xff1b;问题处理不及时&#xff0c;管理被动后置&#xff1b;条块分割&#xff0c;职责不清&#xff0c;职权…