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;    // 文件所有者IDgid_t     st_gid;    // 文件所在组IDdev_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.mzph.cn/bicheng/16849.shtml

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

相关文章

基于springboot+vue的“漫画之家”系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

全新交友盲盒+付费进群二合一源码 包含全套源码+教程

盲盒交友脱单系统源码,带教程,免授权这套源码已经替你们搭建测试过了 附带进群系统,定位是正常的 申明需要无限回调,没有回调的搭建出来不能用不要说源码不能用 全新系统方便大家使用,已经录制好详细的教程&#xf…

【Linux】-Spark分布式内存计算集群部署[20]

注意: 本节的操作,需要前置准备好Hadoop生态集群,请先部署好Hadoop环境 简介 Spark是一款分布式内存计算引擎,可以支持海量数据的分布式计算。 Spark在大数据体系是明星产品,作为最新一代的综合计算引擎&#xff0c…

闲话 .NET(6):.NET Core 各个版本的特性

前言 之前我们聊了一下 .NET Core 有哪些优势,.NET Core 发展非常迅速,不过短短几年,.NET Core 已经发布 .NET 8 了,基本上保持了一年一个版本的速度,每个版本都有自己的独有特性,下面我们来简单的盘点一下…

【一篇文章搞定电脑重装,简单易懂,速来学习!】

大家好!今天给大家带来一篇非常实用的文章——电脑系统重装教程。不管你是电脑小白还是有一定基础的用户,这个教程都能满足你的需求。我们将从前期准备到具体的重装步骤,一步步教你如何重装电脑系统。 教程 介绍 [教程名称]:u盘…

AIGC行业的发展前景与市场需求

简介:探讨当前时机是否适合进入AIGC行业,考虑行业发展阶段和市场需求。 方向一:行业前景 AIGC(人工智能生成内容)行业是近年来随着人工智能技术的快速发展而兴起的一个新兴领域,它涉及到使用人工智能技术来…

可视化大屏开发,知道了这些经验以及解决方案,效率至少提升2倍!(完结篇)

大家好,我是日拱一卒的攻城师不浪,专注可视化、数字孪生、前端、nodejs、AI学习、GIS等学习沉淀,这是2024年输出的第16/100篇文章; 前言 之前写了两篇可视化大屏开发的经验总结,小伙伴们反应还不错。 最近&#xff0…

上海企业ESG标准实施启动仪式暨首届城市可持续发展北外滩论坛,莱巍爵CEO瞿伟锋再获殊荣,绽放异彩

2024年5月20日,上海企业ESG标准实施启动仪式暨首届城市可持续发展北外滩论坛在虹口区白玉兰广场成功举行,上海市工业经济联合会会长管维镛,上海市市场监督管理总局副局长王益洋,联合国工业发展组织投资与技术促进办公室主任赵晓蕾…

【Flutter】Dialog组件PageView组件

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Flutter学习 🌠 首发时间:2024年5月27日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾 目…

Shiro+Jwt+Redis

如何整合ShiroJwtRedis,以及为什么要这么做 我个人认为 ①为什么用shiro:“ShiroJwtRedis”模式和“单纯的shiro”模式相比,主要用的是shiro里面的登录认证和权限控制功能 ②为什么用jwt:“ShiroJwt”模式和“ShiroCookie”模式相…

生命在于学习——Python人工智能原理(2.1)

二、机器学习 1、机器学习的定义 机器学习是指从有限的观测数据中学习出具有一般性的规律,并利用这些规律对未知数据进行预测的方法,通俗的讲,机器学习就是让计算机从数据中进行自动学习,得到某种知识。 传统的机器学习主要关注…

1分钟快速掌握JSON格式

文章目录 先说理论代码举例对象型数组型总结 先说理论 下面是JSON的几种简单数据类型: 数据类型描述数字型JavaScript中的双进度浮点类型,通常根据具体情况定义,这里是没有特殊的整形的。字符串型带双引号的Unicode,带反斜杠转义布尔型true…

图形学初识--双线性插值算法

文章目录 为什么需要双线性插值算法?双线性插值算法是什么?如何双线性插值?结尾:喜欢的小伙伴可以点点关注赞哦 为什么需要双线性插值算法? ChatGP回答: 双线性插值(bilinear interpolation&am…

AI绘画图生图有什么用?

随着AI渗透到我们生活中的各个角落,AI绘画图生图的出现,更是在艺术领域引起了广泛的关注和讨论。那么,AI绘画图生图究竟有什么作用呢? 首先,AI绘画图生图能够极大地提高创作效率。传统的绘画过程需要艺术家们花费大量的时间和精力…

2024年怎么下载学浪app视频

想要在2024年紧跟潮流,成为一名优秀的学浪用户吗?今天就让我们一起探索如何下载学浪app视频吧! 学浪视频下载工具打包 学浪下载工具打包链接:百度网盘 请输入提取码 提取码:1234 --来自百度网盘超级会员V10的分享…

第14章-蓝牙遥控小车 手把手做蓝牙APP遥控小车 蓝牙串口通讯讲解

本文讲解手机蓝牙如何遥控小车,如何编写串口通信指令 第14章-手机遥控功能 我们要实现蓝牙遥控功能,蓝牙遥控功能要使用:1.单片机的串口、2.蓝牙通信模块 所以我们先调试好:单片机的串口->蓝牙模块->接到一起联调 14.1-电脑控制小车 完成功能…

网络工程师备考2——vlan

vlan 1、什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域…

ABeam 德硕 Team Building | SDC Green Day——环保公益行动

山野好拾光 春日公益行 继上年度大连办公室Green Day活动的顺利举办,环保的理念更加深入到ABeam每一位员工的心中。春日天气晴好,西安办公室的小伙伴们也迫不及待来上一场说走就走的Green Day Outing活动。 本次环保公益行动主题为「夏日Go Green畅享山…

千亿级开源大模型Qwen110B部署实测

近日,通义千问团队震撼开源 Qwen1.5 系列首个千亿参数模型 Qwen1.5-110B-Chat。 千亿级大模型普通显卡是跑不了推理的,普通人一般也没办法本地运行千亿级大模型。 为了探索千亿级大模型到底需要计算资源,我用云计算资源部署了Qwen1.5-110B-…

谷歌AI搜索功能“翻车”,用户体验引担忧

近期,谷歌对其搜索引擎进行重大更新,推出了全新AI搜索功能“AI Overview”,试图通过人工智能技术提供更智能便捷的搜索体验,并追赶微软和OpenAI等竞争对手。然而事与愿违,这项备受期待的功能上线后却频频出错&#xff…