C语言文件操作专题

📚 共计 30 章节
01
文件概述
什么是文件 · 文本文件与二进制文件的区别 · 文件缓冲区概念
基础概念
02
文件指针
FILE结构体 · 文件指针的声明与初始化 · 标准流(stdin/stdout/stderr)
核心FILE
03
文件的打开与关闭
fopen详解 · fclose详解 · 打开模式 r/w/a/r+/w+/a+
必备模式
04
文件打开错误处理
fopen返回NULL原因 · perror/strerror · errno全局变量
调试错误
05
字符读写
fgetc · fputc · EOF判定 · feof/ferror函数
字符
06
字符串读写
fgets · fputs · 缓冲区溢出防护 · gets危险与废弃
字符串安全
07
格式化读写
fscanf/fprintf · 格式化注意事项 · sscanf/sprintf变体
格式化IO
08
二进制文件读写
fread/fwrite · 结构体二进制读写 · 字节序问题
二进制结构体
09
文件定位
ftell · fseek · rewind · SEEK_SET/CUR/END
定位随机
10
随机访问
fgetpos/fsetpos · 大文件处理 · fpos_t类型
高级fpos
11
文件结束与错误检测
feof陷阱 · ferror正确使用 · clearerr清除状态
检测陷阱
12
临时文件
tmpfile · tmpnam · mkstemp(Linux) · 安全问题
临时安全
13
文件重命名与删除
rename · remove · 跨平台注意事项
管理删除
14
目录操作
opendir/readdir/closedir (POSIX) · _findfirst/_findnext (Windows) · 目录遍历
目录遍历
15
文件属性获取
stat/fstat · 文件类型判断 · 权限与时间戳
属性stat
16
缓冲机制
setbuf/setvbuf · 全缓冲/行缓冲/无缓冲 · fflush刷新
缓冲性能
17
文本模式与二进制模式
Windows \r\n转换 · Linux无差别 · 跨平台问题
模式换行
18
文件锁
flock(Linux) · LockFileEx(Windows) · fcntl锁 · 并发防护
并发
19
标准流重定向
freopen · 重定向stdin/stdout/stderr · 日志重定向技巧
重定向日志
20
内存文件操作
fmemopen/open_memstream(Linux) · 内存映射文件mmap
内存mmap
21
文件描述符与FILE指针转换
fileno · fdopen · 底层I/O与流式I/O混用
描述符转换
22
大文件处理
fseeko/ftello · _fseeki64/_ftelli64(Windows) · LFS支持
大文件64位
23
文件校验
CRC32计算 · MD5计算 · 文件完整性校验C实现
校验完整性
24
配置文件解析
INI解析 · CSV解析 · JSON解析 (cJSON库简介)
解析配置
25
日志系统设计
分级日志 · 滚动日志 · 异步日志 · 性能优化
日志设计
26
文件加密
XOR加密 · AES简介(OpenSSL) · 文件加密注意事项
加密安全
27
序列化与反序列化
结构体序列化 · Protocol Buffers简介 · JSON序列化
序列化protobuf
28
文件系统监控
inotify(Linux) · ReadDirectoryChangesW(Windows) · 文件变化通知
监控事件
29
跨平台文件操作
路径分隔符 · 换行符处理 · 预处理宏实现跨平台
跨平台
30
综合实战:简易文件备份工具
增量备份 · 压缩 · 校验 · 完整实现
实战项目