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