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