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

文件操作

       文件的由来:在程序中,之前每一个程序都是需要运行然后输入数据,当程序结束时输入的数据也随之消散,为了下一次运行时不再输入数据就有文件的由来,使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化。

文件 

 文件一般有两种:程序文件,数据文件。

程序文件

包括源程序文件(.c),目标文件(.obj),可执行程序(.exe)

数据文件

程序运行时读写的数据,比如程序运行需要从中读取数据的文件, 或者输出内容的文件。

文件的打开和关闭

文件指针

c语言中,文件指针就是一个指向FILE结构的指针。FILE是C标准库中定义的一个结构体,用于表示文件的属性和状态,如文件名、文件状态和文件当前位置等信息。文件指针就是指向这个结构体,找到与之相关的文件来实现各种操作读、写等。

文件打开和关闭(fopen和fclose)

读取文件时需要把文件打开,倘若没有这个文件指针pf就是空指针,文件也是没有打开的,没有打开就不存在关闭文件。但是如果打开文件后就一定要关闭文件,也需要释放指针

写入文件的操作不一样,假设不存在文件它就会给你创建一个文件然后再进行写入然后就是关闭文件,不关闭文件数据是没有写入成功。假设文件已经存在且有数据,它就会把原来的数据全部删除写入新的数据。

函数 

 在文件指针中,这些函数的可以将数据写入文件中或者从文件中读取

fputc 

 fgets

fputs

fgets 

fprintf

fscanf

fwrite
fread 

随机读写函数 

fseek

ftell

rewind 

文本文件和二进制文件

以ASCII的形式存储的文件就是文本文件。

以二进制的形式存储的文件是二进制文件。 

 文件结束标志

首先文件读取结束了,想知道结束的原因

feof返回真说明正常读取遇到了结束标志;

ferror返回真说明读取过程中出错 而结束的;

文件缓冲区

在内存中 ,输入的程序数据不会直接传给硬盘,而是在输出缓冲区中存放,缓冲区会进行更新不会一直存储。反过来也是一样的,放入输入缓冲区。

http://www.lryc.cn/news/444253.html

相关文章:

  • docker存储
  • Ubuntu20.04.6 环境下docker设置proxy
  • 如何给文件夹里面的文件批量添加前缀和编号(利用C#写的小工具)
  • 使用分布式调度框架时需要考虑的问题——详解
  • C语言编译四大阶段
  • C# 关于“您与该网站的连接不是私密连接...”的问题
  • 【超详细】基于YOLOv8训练无人机视角Visdrone2019数据集
  • VUE项目在Linux子系统部署
  • 开源 | 如何在产品上扩展大储存?合宙LuatOS外挂SPI Flash库轻松搞定
  • 20 基于STM32的温度、电流、电压检测proteus仿真系统(OLED、DHT11、继电器、电机)
  • spring自定义属性编辑器
  • 在VMware16中安装Windows 10:完整教程
  • MATLAB系列09:图形句柄
  • 把设计模式用起来!(4) 用不好模式?之原理不明
  • 安卓13去掉下拉菜单的Dump SysUI 堆的选项 android13删除Dump SysUI 堆
  • vue3常用的组件间通信
  • Windows 查找特定进程的ID并杀死
  • Snapchat API 访问:Objective-C 实现示例
  • ps证件照蓝底换白底
  • 阿里云kafka消息写入topic失败
  • 图像放大效果示例【JavaScript】
  • 【C#生态园】云端之C#:全面解析6种云服务提供商的SDK
  • 远程升级又双叒叕失败?背后原因竟然是。。。
  • 【测试】——Selenium API (万字详解)
  • Redis:原理+项目实战——Redis实战3(Redis缓存最佳实践(问题解析+高级实现))
  • 刚刚,Stable Diffusion 2024升级,最强Ai绘画整合包、部署教程(解压即用)
  • 【AIGC】ChatGPT提示词助力高效文献处理、公文撰写、会议纪要与视频总结
  • centos7更换国内下载源
  • 【Linux】常用指令【更详细,带实操】
  • 力扣3290.最高乘法得分