当前位置: 首页 > news >正文

C语言-文件

一、文件的打开

文件分类:程序文件和数据文件

文件名:文件路径 + 文件名主干 + 后缀名

1、文件指针

每个被使用文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件名、路径、大小位置等)。这些信息保存在一个结构体变量中,该结构体是有系统声明的,取名FILE

//stdio.h
typedef struct _iobuf
{char*  _ptr;        //文件输入的下一个位置int    _cnt;        //当前缓冲区的相对位置char*  _base;       //文件初始位置int    _flag;       //文件标志int    _file;       //文件有效性int    _charbuf;    //缓冲区是否可读取int    _bufsiz;     //缓冲区字节数char*  _tmpfname;   //临时文件名
} FILE;

2、文件打开与关闭

①、fopen:打开文件

FILE* fopen(const char* filename,const char* mode);
//filename : 文件名
//mode: 文件的打开形式:'r','w','a':追加
//打开失败,返回NULL

②、fclose:关闭文件

int fclose ( FILE * stream );

二、文件的读写

1、文件的顺序读写

2、文件的随机读写

①、fseek:读取文件指定位置的数据

int fseek(FILE* stream,long int offset, int origin);
//stream:流
//offset:偏移
//origin:起始地址,origin取值:SEEK_SET,起始位置,SEEK_CUR,当前位置,SEEK_END,末尾位置

②、ftell:计算当前文件指针距离起始位置的偏移量

int ftell(FILE* stream);

③、rewind:回到文件的起始位置

void rewind(FILE* stream);

三、二进制文件与文本文件

四、文件读取结束的判定

1、feof:判定文件读取结束失败的原因:是文件读取失败结束还是文件读取失败结束

fgetc:EOF,文件读取结束

fgets:NULL,文件读取结束

fread:返回值是否小于实际要读的个数,文件读取结束

五、文件缓冲区

相关文章:

  • 【HarmonyOS5】Stage模型应用程序包结构详解
  • 25.5.27学习总结
  • 视频逐帧提取图片的工具
  • NSSCTF [NISACTF 2022]ezheap
  • 基于 Operator 部署 Prometheus 实现 K8S 监控
  • (14)JVM弹性内存管理
  • 详解K8s API Server 如何处理请求的?
  • pod创建和控制
  • Mac M1 安装 ffmpeg
  • Rockey Linux 安装ffmpeg
  • MATLAB使用多个扇形颜色变化表示空间一个点的多种数值
  • nt!MiInitializeSystemCache函数分析之PointerPte->u.List.NextEntry的由来
  • [ Qt ] | 常用控件(三):
  • ArcGIS Pro 3.4 二次开发 - 地理处理
  • 如何通过ES实现SQL风格的查询?
  • 向量数据库对比和选择:Pinecone、Chroma、FAISS、Milvus、Weaviate
  • 分享9款常用的内网穿透软件
  • 把 CURSOR 的工具活动栏改成和 VSCODE 一样的左侧展示
  • apk- 反编译apktools操作方法——请勿乱用-东方仙盟
  • Mac安装MongoDB数据库以及MongoDB Compass可视化连接工具
  • a站播放量最高的视频/目前最新的营销方式有哪些
  • 重庆信息网招聘/seo关键词排名优
  • 做一网站/seo点击排名工具有用吗
  • 电子商务网站的建设与规划论文/最经典的营销案例
  • 杭州北京网站建设公司哪家好/最近三天的新闻大事
  • 做盗版小说网站赚钱嘛/比较成功的网络营销案例