C语言文件编程

C语言文件编程

第一部分 基本概念

1、Linux文件类型

1.-普通文件:存在于外部存储器中,用于存储普通数据。 1.txt  1.c  1.mp3  1.mp4
2.d目录文件:用于存放目录项,是文件系统管理的重要文件类型。   文件夹
3.p管道文件:一种用于进程间通信的特殊文件,也称为命名管道FIFO。
4.s套接字文件:一种用于网络间通信的特殊文件。
5.l链接文件:用于间接访问另外一个目标文件,相当于Windows快捷方式。 软链接  
6.c字符设备文件:字符设备在应用层的访问接口。  鼠标  键盘  触摸屏    ---普通硬件设备
7.b块设备文件:块设备在应用层的访问接口。   U盘  固态硬盘  磁盘  --存储容量的硬件设备

2、系统IO与标准IO的关系
在这里插入图片描述

第二部分 系统IO

3、特点概述
4、open/close 详解
5、文件描述符本质
6、read详解
7、write详解
8、lseek详解
9、文件位置偏移
10、dup/dup2详解
在这里插入图片描述
11、ioctl详解
12、fcntl详解
13、mmap详解
14、错误码处理

第三部分 标准IO

15、特点描述
16、fopen/fclose详解
17、文件指针本质
18、系统缺省标准文件

在这里插入图片描述
在这里插入图片描述
19、fgetc/getc/getchar详解
20、fputc/putc/putchar详解
21、feof/ferror详解
在这里插入图片描述

22、fgets/gets详解
23、fputs/puts详解
24、fread/fwrite详解
25、fseek/ftell详解
26、标准IO缓冲类型
27、setbuf/setvbuf详解

第四部分 文件属性和目录操作

28、linux文件组织方式
29、inode剖析
在这里插入图片描述

30、stat/fstat/lstat详解
31、结构体stat

struct stat
{
     dev_t     st_dev;    // 本文件所在的设备的设备号,适用于非设备文件
     ino_t     st_ino;    // i节点号,相当于身份证号码
     mode_t    st_mode;   // 文件类型 + 文件权限
     nlink_t   st_nlink;  // 文件的别名的数目
     uid_t     st_uid;    // 文件所有者ID
     gid_t     st_gid;    // 文件所在组ID
     dev_t     st_rdev;   // 本文件的设备号,适用于特殊设备文件   
     off_t     st_size;   // 文件大小
     blksize_t st_blksize;   
     blkcnt_t  st_blocks;   
 
     // 文件时间戳
     struct timespec st_atim;  // 最近访问时间,比如打开看一下文件的时间
     struct timespec st_mtim;  // 最近修改时间,比如打开并改一下的时间
     struct timespec st_ctim;  // 最近状态改变时间,比如修改了文件的权限的时间
 };

32、设备号
33、文件类型与权限
34、linux文件的setid
35、linux文件的stickybit
36、opendir详解
37、readdir详解
38、当前进程路径
39、chdir详解

第五部分 日志操作

40、日志级别
41、打开日志
42、写日志

设备操作-显示屏

43、LCD基本概念和内存映射
44、自动获取LCD硬件参数
45、双缓冲优化图像效果
46、BMP格式简介
47、BMP图片显示代码实现
48、JPEG源码配置编译和部署
49、JPEG解码代码实现

设备操作-触摸屏

50、输入子系统和input_event结构体
51、获取触摸屏手指滑动轨迹
52、触摸屏点击事件封装

库的制作与应用

53、库的基本概念
54、静态库和动态库的区别
55、静态库的使用和注意事项
56、动态库的制作与使用

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

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

相关文章

LDRA Testbed(TBrun)软件单元测试_操作指南

系列文章目录 LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成_(1)自动进行静态分析的环境搭建 LDRA Testbed软件静态分析_Jenkins持续集成_(2)配置邮件自动发送静态分析结果 LDRA Testb…

探索循环逻辑:for逻辑分支与容器遍历的深度剖析

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:for逻辑与循环体的奥秘 二、for逻辑与循环体的结合使用 1. 函数与循环…

Python计算回归拟合各项指标

0、各项回归指标简介 Relative Root Mean Squared Error(RRMSE):The RRMSE normalizes the Root Mean Squared Error (RMSE) by the mean of observations. It goes from 0 to infinity. The lower the better the prediction performance.T…

电脑不能远程桌面连接不上,电脑无法建立远程桌面连接如何解决?

电脑无法建立远程桌面连接的问题,通常涉及到多个层面的因素,包括但不限于网络设置、系统配置、防火墙设置以及服务状态等。以下是一些专业性的解决方案,以帮助您解决这一问题。 首先,我们需要检查网络连接。远程桌面连接需要稳定的…

Day08:CSS 高级

目标:掌握定位的作用及特点;掌握 CSS 高级技巧 一、定位 作用:灵活的改变盒子在网页中的位置 实现: 1.定位模式:position 2.边偏移:设置盒子的位置 leftrighttopbottom 水平方向偏移:left、…

电子商务网站(网上商店PetShop)

PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。PetShop随着版本的不断更新,至现在基于.Net2.0的PetShop 4.0为止,整个设计逐渐变得成熟而优雅,有很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码…

【软件设计师】——7.软件工程基础

目录 7.1 软件工程概述 7.2 需求分析 7.3 软件设计 7.4 软件开发方法及模型 7.4.1 软件开发方法 7.4.2 软件开发模型 7.5 软件测试 7.6 软件维护 7.7 软件质量保证 7.7.1 软件质量特性 7.7.2 程序质量评审 7.7.3 设计质量评审 7.8 软件过程改进 7.9 项目管理 7.1 …

【制作100个unity游戏之26】unity2d横版卷轴动作类游13(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言存储点灯光后处理存储位置信息存储更多数据存储场景信息持久化存储数据引入Unity 的可序列化字典类调用 游戏结束源码完结 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各…

Appium系列(2)元素定位工具appium-inspector

背景 如实现移动端自动化,依赖任何工具时,都需要针对于页面中的元素进行识别,通过识别到指定的元素,对元素进行事件操作。 识别元素的工具为appium官网提供的appium-inspector。 appium-inspector下载地址 我这里是mac电脑需要下…

使用numpy手写一个神经网络

本文主要包含以下内容: 推导神经网络的误差反向传播过程使用numpy编写简单的神经网络,并使用iris数据集和california_housing数据集分别进行分类和回归任务,最终将训练过程可视化。 1. BP算法的推导过程 1.1 导入 前向传播和反向传播的总体…

编程-辅助工具-Git下载

文章目录 1、前言2、Git官网地址3、迅雷下载 1、前言 采用Git能下载github上的代码,其下载是采用官网下载的,但是下载速度比较慢,网上也推荐了镜像的方式,但是有些链接失效了,突然有一天想起用迅雷是不是合适&#xf…

在通过跨网文件交换时,如何保障科研结构核心研究数据?

当今科研领域,数据如同生命线,支撑着每一个突破性发现的诞生。随着国际合作的加深,跨网文件交换成了常态,但这也为科研机构的核心研究数据安全带来了一系列挑战。想象一下,那些精心搜集和分析的宝贵数据,在…

OpenBayes 教程上新 |全球首个开源的文生视频 DiT 模型!对标 Sora,保姆级 Latte 文生视频使用指南

小朋友不爱背诗怎么办?《千秋诗颂》试试看。 2 月 26 日,中国首部文生视频 AI 系列动画《千秋诗颂》于 CCTV-1 频道正式播出,这部动画由上海人工智能实验室和「央妈」(中央广播电视总台)强强联手,借助「央视…

Discuz!X3.4论坛网站公安备案号怎样放到网站底部?

Discuz!网站的工信部备案号都知道在后台——全局——站点信息——网站备案信息代码填写,那公安备案号要添加在哪里呢?并没有看到公安备案号填写栏,今天驰网飞飞和你分享 1)工信部备案号和公安备案号统一填写到网站备案…

安装appium自动化测试环境,我自己的版本信息

教程来自:Appium原理与安装 - 白月黑羽 我的软件的版本: 安装是选择为自己安装而不是选all user pip install appium-python-client命令在项目根目录下安装appium-python-client sdk的话最简单的安装方式就是去Android官网下一个android studio然后在…

强化学习_06_pytorch-PPO2实践(Humanoid-v4)

一、PPO优化 PPO的简介和实践可以看笔者之前的文章 强化学习_06_pytorch-PPO实践(Pendulum-v1) 针对之前的PPO做了主要以下优化: -笔者-PPO笔者-PPO2refdata collectone episodeseveral episode(one batch)activationReLUTanhadv-compute-compute adv as one seri…

鸿蒙ArkTS声明式开发:跨平台支持列表【按键事件】

按键事件 按键事件指组件与键盘、遥控器等按键设备交互时触发的事件,适用于所有可获焦组件,例如Button。对于Text,Image等默认不可获焦的组件,可以设置focusable属性为true后使用按键事件。 说明: 开发前请熟悉鸿蒙开…

【STM32踩坑】HAL固件库版本过高导致烧录后无法运行问题

问题引入 目前STM32CUBEMX已经更新到了6.11版本,对应的固件库也一直在更新; 以STM32F1库为例,目前最新的库对应版本为1.8.5 但是我们会发现,如果直接使用1.8.5版本的固件库生成HAL源码后,烧录是可以烧录,但…

【IC】良率模型-yield model

缺陷密度Default Density(D0),表示单位面积的缺陷数D。 单位面积有M个部件,一个部件的平均失效率为: 一个面积为A的系统(芯片)良率: Possion模型: 当M趋于无穷时,系统良率为possion模型。 Murphy模型:(D~对称三角分布) 大芯片或大系统possion模型预估良率过于…

Python自动化测试进阶:性能测试与持续集成实践

Python自动化测试进阶包括性能测试和持续集成实践两个关键方面。以下是对这两个领域的简要介绍,并附带一些示例代码。 性能测试 性能测试是评估软件在特定条件下的性能表现的过程。对于Python应用程序,可以使用一些工具来进行性能测试,例如ps…