C语言文件编程

news2024/9/19 5:39:07

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、动态库的制作与使用

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

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

相关文章

景源畅信:新手做抖音运营难不难?

在这个信息爆炸的时代,社交媒体平台如抖音已经成为了人们日常生活中不可或缺的一部分。随着抖音的兴起,越来越多的人开始尝试进入这个领域,希望通过抖音运营实现自己的价值。然而,对于新手来说,抖音运营是否真的容易呢…

苹果手机突然白屏无反应怎么办?白屏修复办法分享!

苹果手机突然白屏无反应怎么办?下面小编就来给大家分享苹果手机突然白屏的原因和修复办法。 一般造成苹果手机出现白屏的原因如下: 系统问题:iOS系统的故障是导致苹果设备白屏无反应最常见的原因之一。例如,系统更新失败、应用冲…

《异常检测——从经典算法到深度学习》28 UNRAVEL ANOMALIES:基于周期与趋势分解的时间序列异常检测端到端方法

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

[自动驾驶技术]-6 Tesla自动驾驶方案之硬件(AI Day 2021)

1 硬件集成 特斯拉自动驾驶数据标注过程中,跨250万个clips超过100亿的标注数据,无论是自动标注还是模型训练都要求具备强大的计算能力的硬件。下图是特斯拉FSD计算平台硬件电路图。 1)神经网络编译器 特斯拉AI编译器主要针对PyTorch框架&am…

网络上受认可的赚钱软件有哪些?这些兼职副业中总有一个适合你

在这个互联网迅速发展的时代,网络赚钱已经成为一种普遍的趋势。然而,你是否仍旧在依靠运气去碰寻赚钱的机会?是否还在为无法找到一个可靠的兼职平台而感到烦恼? 别担心,今天我将为你揭示那些真正可靠的在线赚钱平台&a…

算法简单笔记2

5月26号,之前学了两天算法烦了,去学了几天鸿蒙,今天又回来看一下算法,距离6月1日国赛还有6天,哈哈真是等死咯...... 一、蓝桥杯第13届国赛第1题填空题:重合次数 (半难不难,写编程难…

强化学习_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…

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候,具体是按照什么样的策略来实现的呢? Redis支持两种方式的持久化,一种是RDB方式、另一种是AOF(append-only-file)方式,两种持久化方式可以单独使用其中一种&…

编程-辅助工具-Git下载

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

DDR基本原理

1. 简介 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双数据率同步动态随机存储器)通常被我们称为DDR,其中的“同步”是指内存工作需要同步时钟,内部命令的发送与数据传输都以它为基准。DDR…

postman教程-4-发送post请求

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了postman发送get请求的方法,本小节我们讲解一下postman发送post请求的方法。 POST请求通常用于向服务器提交数据以创建新资源或执行某些操作。与GET请求不同,POST请求可…

华为机考入门python3--(31)牛客31-单词倒排

分类:字符串、正则 知识点: 正则提取所有符合的字符串 words re.findall(r[a-zA-Z], sentence) 列表倒序 words[::-1] 题目来自【牛客】 import re # 导入正则表达式模块def reverse_words(sentence):# 使用正则表达式将句子拆分成单词# 如可以将…

【Docker学习】详细讲解docker ps

docker ps是我们操作容器次数最多的命令之一,但我们往往使用docker ps或是docker ps -a,对于该命令的其它选项,我们关注比较少。那么这一讲,我给大家详细讲讲该命令的全部方法。 命令: docker container ls 描述&am…

python数据分析——apply 1

参考资料:活用pandas库 apply是指把函数同时作用于DataFrame的每一行或每一列。类似于编写一些跨每行或每列的for循环,并同时调用apply函数。 1、函数 函数是对python代码进行分组和复用的一种方法。如果某段代码会被多次使用,并且使用时是需…

Flink 数据源

原理 在 Flink 中,数据源(Source)是其中一个核心组件,负责从各种来源读取数据供 Flink 程序处理。 Flink 的数据源类型丰富,涵盖了从简单测试到生产环境使用的各种场景。Kafka、Socket、文件和集合是 Flink 中最常见…

[转载]同一台电脑同时使用GitHub和GitLab

原文地址:https://developer.aliyun.com/article/893801 简介: 工作中我们有时可能会在同一台电脑上使用多个git账号,例如:公司的gitLab账号,个人的gitHub账号。怎样才能在使用gitlab与github时,切换成对应…

利用边缘计算网关的工业设备数据采集方案探讨-天拓四方

随着工业4.0时代的到来,工业设备数据采集成为了实现智能制造、提升生产效率的关键环节。传统的数据采集方案往往依赖于中心化的数据处理方式,但这种方式在面对海量数据、实时性要求高的工业场景时,往往显得力不从心。因此,利用边缘…

访问构造方法(反射)

文章目录 前言一、反射是什么?二、访问构造方法 1.Constructor对象的获取方法2.Constructor方法的使用总结 前言 Java的反射机制可以实现访问、检测和修改Java对象本身信息的功能,在java.lang.reflect包下提供此功能。可以使程序员更加深入地控制程序的运…

初识C语言——第二十九天

数组 本章重点 1.一维数组的创建和初始化 数组的创建 注意事项: 1.一维由低数组在内存中是连续存放的! 2.随着数组下标的增长,地址是由低到高变化的 2.二维数组的创建和初始化 注意事项: 1.二维数组在内存中也是连续存放的&am…

内网横向移动小补充 --->PTK

大家别急,我的基于资源的约束性委派攻击还在写,这个东西一时半会讲不清楚,所以我在这里先来补充一点横向移动以前没说好的东西!!! 在更啦,别催啦~~~~ 还记得我之前在内网渗透里面讲过这个PTK&a…