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