功能分类
| 功能类别 |
常用函数 |
解释 |
| 写文件(输出) |
fprintf()、fputs()、fputc()、fwrite() |
把内容写进文件 |
| 读文件(输入) |
fscanf()、fgets()、fgetc()、fread() |
从文件读出内容 |
| 打开/关闭文件 |
fopen()、fclose() |
打开或关闭文件 |
| 文件文本位置控制 |
fseek()、ftell()、rewind() |
控制“读写光标”位置 |
| 检测文件状态 |
feof()、ferror()、clearerr() |
判断是否读到末尾、出错等 |
写入文件函数解析
| 函数 |
功能 |
举例 |
文件内容 |
| fprintf(fp, "%d", x) |
写格式化文本(数字→文字) |
写入 123 |
"123" |
| fputs("abc", fp) |
写一整串字符串 |
"abc" |
"abc" |
| fputc('A', fp) |
写一个字符 |
'A' |
"A" |
| fwrite(&x, sizeof(int), 1, fp) |
写原始二进制数据 |
123 |
01111011(看不懂的二进制) |
读取文件函数解析
| 函数 |
功能 |
举例 |
说明 |
| fscanf(fp, "%d", &x) |
读格式化文本 |
读出“123” |
文本读法 |
| fgets(buf, n, fp) |
读一行文本到字符串 |
读到 “hello\n” |
常用于文本文件 |
| fgetc(fp) |
读一个字符 |
读出 'A' |
一次 1 字节 |
| fread(&x, sizeof(int), 1, fp) |
读原始二进制数据 |
读出 int 值 123 |
常用于二进制文件 |
文件文本位置控制函数解析
| 函数 |
功能 |
举例 |
说明 |
| fseek(fp, offset, origin) |
移动文件指针 |
fseek(fp, 0, SEEK_END) |
跳到文件末尾 |
| ftell(fp) |
获取当前位置 |
返回当前指针偏移量 |
|
| rewind(fp) |
回到开头 |
rewind(fp) |
快速重置到文件头 |
文件状态检测函数解析
| 函数 |
功能 |
解释 |
| feof(fp) |
判断是否到达文件末尾 |
“读完了吗?” |
| ferror(fp) |
判断是否出错 |
“读写出问题了吗?” |
| clearerr(fp) |
清除错误状态 |
“重置错误标志” |
打开/关闭文件函数代码举例
#include <stdio.h>int main() {FILE *fp = fopen("data.bin", "wb"); // 以"wb"二进制写方式打开"data.bin"文件int num = 65;fwrite(&num, sizeof(int), 1, fp); // 写入num"65"的二进制值fclose(fp); //关闭文件释放内存fp = fopen("data.bin", "rb"); // 重新打开"rb"读int readNum;fread(&readNum, sizeof(int), 1, fp); // 读出二进制值的十进制值printf("读出的值: %d\n", readNum); // 输出:65fclose(fp); //关闭文件释放内存return 0;
}
- 打开文件函数的模式解析:C 语言 - fopen、fprintf、fread、fwrite、fputc 操作文件函数解析