作用介绍
| 函数名 | 功能 | 模式 | 类比 |
|---|---|---|---|
| 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 语言 - 操作文件函数全解析
