作用介绍
| 函数名 | 功能 | 模式 | 类比 | 
|---|---|---|---|
| fprintf() | 写“文字版”数据到文件 | 文本模式 | 把数字写成“字样” | 
| fread() | 从文件“读二进制”数据 | 二进制模式 | 从硬盘拷贝一坨原始数据 | 
| fwrite() | 把内存“原样写入”文件 | 二进制模式 | 把内存快照直接存硬盘 | 
| fputc() | 写一个字符 | 文本模式 | 写一个字母到文件 | 
举例对比
int a = 65;
FILE *fp = fopen("test.txt", "w");
- 
fopen("test.txt", "w") - 
含义:打开一个文件"test.txt",返回文件指针(FILE *)。模式为"w" 模式 含义 "r"只读文本 "w"只写文本(清空原文件) "a"追加写文本(不清空) "rb"只读二进制 "wb"只写二进制 "ab"追加写二进制 "r+"读写文本 "w+"读写文本(清空原文件) "rb+"读写二进制 
 
- 
- 
fprintf(fp, "%d", a) - 
含义:把 a按 文本格式 输出到文件。
- 
文件内容: 65
- 
占用:两个字节 '6''5'
- 
类比:✍️“写下数字六五” 
 
- 
- 
fwrite(&a, sizeof(int), 1, fp) - 
含义:把变量 a的 二进制内容 原样写入。
- 
文件内容: 01000001(65 的二进制值)
- 
占用:4 个字节(原始二进制) 
- 
类比:💾“直接拷贝指定内存内容到文件” 
 
- 
- 
fread(&a, sizeof(int), 1, fp) - 
含义:从文件中按二进制格式读入数据到变量,一般配合 fwrite()使用。
- 
类比:📂“把之前存的原样二进制读回来” 
 
- 
- 
fputc('A', fp) - 
含义:往文件写入单个字符 'A'
- 
文件内容: A
- 
占用:1 个字节 
- 
类比:🖋️“往纸上写一个字母” 
 
- 
总结
| 函数 | 模式 | 功能 | 类比 | 
|---|---|---|---|
| fprintf | 文本 | 写“人能看懂”的内容 | 写“字样” | 
| fwrite | 二进制 | 写“机器能用”的内容 | 拷贝内存 | 
| fread | 二进制 | 读“机器能用”的内容 | 还原内存 | 
| fputc | 文本 | 写一个字符 | 写一个字母 | 
操作文件函数扩展
- C 语言 - 操作文件函数全解析
