前言
我们平时写的C语言代码,数据都存放在内存中,程序运行结束后数据就会消失。如果想要永久保存数据,就需要使用文件操作。
一、什么是文件
文件是存储在电脑硬盘上的数据集合。在C语言中,文件主要分为两种:
文本文件:后缀为txt等,文字可见、通俗易懂。
二进制文件:机器编码存储,肉眼无法直接看懂。
二、文件操作基础流程
C语言文件操作固定四步:定义文件指针、打开文件、读写文件、关闭文件。所有文件操作都需要引入头文件#include <stdio.h>。
1、文件指针
文件指针是操作文件的关键,基础写法:FILE* fp;。
2、打开方式
使用fopen()函数打开文件,常用方式:
r:只读模式,读取已有文件。
w:写入模式,清空原有内容重新写入。
a:追加模式,在文件末尾添加内容。
3、关闭文件
文件使用完毕必须用fclose()关闭,并把指针置为空值NULL。防止数据丢失、占用系统资源。
三、常用文件读写函数
C语言文件读写分为顺序读写与随机读写,以下为初学者必备函数,标注标准格式与最简示例。
3.1 顺序读写函数
顺序读写按照文件内容从头到尾的顺序读取、写入数据。
字符读取 fgetc标准语法:
int fgetc(FILE* fp);简单示例:char ch = fgetc(fp);字符写入 fputc标准语法:
int fputc(char ch, FILE* fp);简单示例:fputc('M', fp);字符串读取 fgets标准语法:
char* fgets(char* buf, int n, FILE* fp);简单示例:fgets(str, 50, fp);字符串写入 fputs标准语法:
int fputs(const char* str, FILE* fp);简单示例:fputs("你好C语言", fp);格式化写入 fprintf标准语法:
int fprintf(FILE* fp, const char* format, ...);简单示例:fprintf(fp,"%d",100);格式化读取 fscanf标准语法:
int fscanf(FILE* fp, const char* format, ...);简单示例:fscanf(fp,"%d",&num);
3.2 随机读写函数
随机读写可以人为移动文件指针,跳过部分数据,在任意位置进行读写。
移动指针 fseek标准语法:
int fseek(FILE* fp, long offset, int origin);简单示例:fseek(fp, 5, SEEK_SET);获取指针位置 ftell标准语法:
long ftell(FILE* fp);简单示例:long len = ftell(fp);指针重置 rewind标准语法:
void rewind(FILE* fp);简单示例:rewind(fp);
四、新手注意事项
打开文件必须判断指针是否为空,避免打开失败导致程序报错。
写入模式w会清空原有数据,修改文件优先使用追加模式a。
文件使用结束务必关闭文件,养成良好编码习惯。
总结
文件操作是C语言实用知识点,核心记住操作流程、三种打开模式,熟练掌握读写代码即可完成基础数据保存。学好文件操作,我们可以编写记事本、学生管理等简易程序,提升代码实操能力。