C语言文件操作精讲:从格式化读写到随机访问
各类资料学习下载合集
https://pan.quark.cn/s/8c91ccb5a474
在C语言编程中,文件操作是一项不可或缺的核心技能。无论是保存程序运行数据、读取配置文件,还是处理日志文件,我们都离不开与文件的交互。本文将根据课堂笔记,系统地讲解C语言中文件的格式化读写(fprintf
, fscanf
)、随机位置读写(fseek
)以及错误处理(perror
)等关键操作,并通过丰富的代码示例,带你彻底掌握文件操作的精髓。
一、 文件的格式化写入 (fprintf
)
正如我们使用 printf
函数将格式化的内容输出到控制台一样,C语言提供了 fprintf
函数,让我们能以同样的方式将格式化的数据写入到文件中。
核心函数:
- •
fopen(const char *filename, const char *mode)
: 打开一个文件,返回一个文件指针 FILE*
。mode
为 "w"
表示以写入方式打开,如果文件存在则清空内容,不存在则创建。 - •
fprintf(FILE *stream, const char *format, ...)
: 根据指定的 format
格式,将数据写入到 stream
指向的文件中。 - •
fclose(FILE *stream)
: 关闭文件,释放资源。这是一个非常重要的好习惯。
代码案例:
下面的代码将创建一个名为 data.txt
的文件,并向其中写入一个字符串 "hello world" 和一个整数 11。
#include <stdio.h>
#include <stdlib.h> // 为了使用 exit()int main() {// 1. 打开文件// 使用 "w" 模式,表示写入。如果文件不存在,会创建它;如果存在,会清空原有内容。FILE *fp = fopen("data.txt", "w");// 2. 检查文件是否成功打开if (fp == NULL) {printf("文件打开失败!\n");exit(1); // 退出程序}// 3. 定义要写入的数据char str[] = "hello world";int num = 11;// 4. 使用 fprintf 进行格式化写入// 写入字符串和整数,用空格隔开,并添加换行符fprintf(fp, "%s %d\n", str, num);printf("数据已成功写入到 data.txt 文件中。\n");// 5. 关闭文件fclose(fp);return 0;
}