C语言标准库与文件IO操作50问
📚 共计 50 章节
01
C语言标准库概览
什么是标准库 · C89/C99/C11 · 头文件分类
历史
分类
02
stdio.h 核心函数(上)
printf/scanf · getchar/putchar · gets/puts隐患
格式化
输入输出
03
stdio.h 核心函数(下)
fopen/fclose · fread/fwrite · 文件打开模式详解
文件
模式
04
文件读写位置
ftell/fseek · rewind · feof/ferror · 随机读写
指针
随机访问
05
字符串处理 (string.h)
strlen/strcpy/strcat/strcmp/strstr/strtok
字符串
安全
06
内存操作 (string.h)
memset/memcpy/memmove/memcmp · 内存重叠
内存
memmove
07
字符处理 (ctype.h)
isalpha/isdigit/isalnum · toupper/tolower
分类
转换
08
数学函数 (math.h)
fabs/pow/sqrt/ceil/floor · sin/cos · 浮点精度
数学
浮点
09
随机数与通用工具 (stdlib.h)
rand/srand · atoi/atof · strtol/strtod
随机
转换
10
通用工具进阶 (stdlib.h)
qsort/bsearch · abs/div · system/exit/atexit
排序
查找
11
动态内存管理 (stdlib.h)
malloc/calloc/realloc/free · 内存泄漏/野指针
堆
碎片
12
时间与日期 (time.h)
time/clock/difftime · localtime/strftime
时间
格式化
13
程序跳转与错误处理
setjmp/longjmp · assert · errno/perror/strerror
跳转
断言
14
可变参数 (stdarg.h)
va_list/va_start/va_arg/va_end · 自定义printf
可变参数
宏
15
信号处理 (signal.h)
signal/raise · SIGINT/SIGSEGV · 处理限制
信号
异步
16
本地化 (locale.h)
setlocale/localeconv · 货币/日期格式
本地化
文化
17
文件IO基础
FILE* · 文本/二进制 · 缓冲机制
文件指针
缓冲
18
文本文件读写
fgetc/fputc · fgets/fputs · 格式化读写
文本
逐行
19
二进制文件读写
fread/fwrite · 结构体读写 · 大端小端/对齐
二进制
结构体
20
文件状态与目录操作
stat · 文件类型/权限 · opendir/readdir
目录
状态
21
标准流与重定向
stdin/stdout/stderr · freopen · 管道/文件描述符
重定向
流
22
临时文件
tmpfile/tmpnam/mkstemp · 安全创建
临时
安全
23
文件锁
flock/fcntl/lockf · 多进程冲突解决
锁
并发
24
缓冲区刷新
fflush/setbuf/setvbuf · 自定义缓冲
缓冲
刷新
25
错误处理与调试
feof/ferror/clearerr · 常见错误排查
错误
调试
26
字符串与数字转换
sprintf/snprintf · sscanf · 安全格式化
转换
安全
27
宽字符与多字节字符
wprintf/wscanf · mbstowcs/wcstombs
宽字符
编码
28
国际化与编码
ASCII/UTF-8/GBK · C语言编码处理
国际化
Unicode
29
标准库内部实现窥探
FILE结构体 · 缓冲区管理 · 系统调用vs库函数
实现
内核
30
性能优化
减少系统调用 · 大缓冲区 · mmap内存映射
性能
mmap
31
跨平台文件IO
Windows/Linux路径差异 · 换行符 · 句柄
跨平台
兼容
32
安全编程
缓冲区溢出 · 格式化字符串漏洞 · 路径遍历
安全
漏洞
33
日志系统设计
分级日志 · 日志轮转 · 异步写入
日志
设计
34
配置文件解析
INI/JSON/CSV解析器 · 基于标准库
解析
配置
35
序列化与反序列化
结构体序列化 · 版本兼容 · 数据校验
序列化
兼容
36
大文件处理
分片读写 · 进度回调 · 断点续传
大文件
续传
37
内存文件流
fmemopen/open_memstream · 内存模拟文件
内存流
模拟
38
文件描述符与FILE互转
fileno/fdopen · 混合高级低级IO
描述符
转换
39
非阻塞IO与多路复用
select/poll/epoll · 标准库配合
非阻塞
多路
40
异步IO
aio_read/aio_write · POSIX AIO
异步
AIO
41
加密与校验
MD5/SHA1 · CRC32 · 文件完整性检查
加密
校验
42
压缩与解压
gzip/zlib接口 · 标准库与第三方协作
压缩
zlib
43
正则表达式
C11 regex.h · 正则匹配与替换
正则
C11
44
复杂数据结构序列化
链表/树/图 · 文件存储与恢复
数据结构
持久化
45
数据库文件操作
简单键值存储 · B-tree/哈希表
数据库
存储
46
网络文件传输
socket编程 · HTTP下载 · FTP协议
网络
传输
47
文件监控
inotify (Linux) · ReadDirectoryChanges (Windows)
监控
实时
48
内存映射文件
mmap/munmap · 高效大文件随机访问
mmap
映射
49
标准库扩展
Python/C扩展 · Lua绑定 · 脚本语言应用
扩展
绑定
50
综合实战:文件备份工具
增量备份 · 压缩 · 加密 · 日志
实战
备份