文件操作详解(超级详细)

article/2025/10/12 1:08:55

正常我们的程序在执行的时候程序结束后,会将所有数据清楚,那么我们应该如何保存数据呢?这里我们就需要用文件操作。

一、文件的打开和关闭

1.文件打开、关闭函数—fopen、fclose

//打开文件
FILE * pf = fopen ( const char * filename, const char * mode );
//关闭文件
fclose ( pf);
  1. FILE是C语言提供的文件类型,是一个结构体类型。FILE*是文件指针类型,通过该指针可以对文件进行一系列的操作。

  1. fopen第一个参数是打开的文件名,可以指输入该文件名,也可以输入文件的绝对路径。如c:\code\test.txt.

  1. fopen第二个参数mode为打开文件的方式,常见的有下面的几种类型:

  1. 在对文件进行相关操作后应该及时使用fclose函数进行关闭,以便及时释放资源。

  1. 若fopen打开文件失败,则返回空指针,因此打开文件后应该做必要的判断。对于fclose,如果成功返回值为0,否则返回EOF。

二、常见的文件操作函数

  1. 字符输入函数-fgetc

fgetc函数返回文件指针指向的字符,并使指针向下一个字符偏移。若想用此函数打印文件全部内容,可用while((ch=fgetc(pf))!=EOF)循环来控制,这是因为当指针指向文件结尾,函数返回值为-1。

  1. 字符输出函数-fput

由于要输出数据,故文件打开方式为"w",此时如图将字符c输出到了文件内。

mode的一些注意事项:

用“r”的方式打开文件,若文件不存在,则会返回一个空指针;若用“w”或“a”打开文件,若没有该文件则会创建一个文件,进行操作,当文件存在的时候,写入也会把原来的内容覆盖掉。

  1. 字符串输入函数-fgets

fgets需要三个参数,第一个输出字符串,第二个是输出的字符串长度,第三个操作文件地址。

为何只打印了四个字符呢?因为fgets会在末尾添加一个“\0”作为结束标志。

  1. 字符串输出函数-fputs

fputs只包含两个参数,第一个输出的字符串,第二个操作的文件地址。

  1. 二进制输入函数-fread

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。

size -- 这是要读取的每个元素的大小,以字节为单位。

nmemb -- 这是元素的个数,每个元素的大小为 size 字节。

stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

  1. 二进制输出函数-fwrite

fwrite fread是成块的对二进制文件进行读写,如以二进方式处理文件,文件里的内容除了字符型以asc码显示的你能用记事本打开时能看明白,其它数值类型都是按其在内存里的二进制格式存储的,以asc码的形式强制解释,就全是乱码。

  1. 格式化输入函数-fscanf

将文件内容以格式化输入的方式赋值给变量,再进行打印。

顺便一提sscanf函数,它是将字符串内容以格式化方式输出,其第一个参数是指向字符数组的指针 。

8.格式化输入函数-fprintf

基本与printf函数参数相同,只是多了一个文件类型指针的参数,能以格式化输出的方式将内容输出到文件内。

顺便提一下sprintf()函数。fprintf函数能将数据内容向所有输出流输出,而sprintf函数便是将数据内容保存为字符串,其第一个参数是指向字符数组的指针。

三、文件位置指针操作函数

  1. 返回指针偏移量函数-ftell

以"r"的方式打开文件,位置指针初始时在文首,偏移量为0,而每进行一次字符读写,偏移量便加一。 ftell函数能反映当前文件位置指针的位置。

  1. 返回指针原点函数-rewind

使用rewind后,文件指针的起始位置变成了原点0的位置。

  1. 定位文件指针函数-fseek

参数一文件类型指针,参数二指针偏移量,参数三初始偏移位置,包括SEEK_SET为文件开头位置,SEEK——CUR为当前位置指针的位置,SEEK_END则为文件结尾位置。

四、文件缓冲区

文件是指存储在外部存储介质上的、由文件名标识的一组相关信息的集合。由于CPU 与 I/O 设备间速度不匹配。为了缓和 CPU 与 I/O 设备之间速度不匹配矛盾。文件缓冲区是用以暂时存放读写期间的文件数据而在内存区预留的一定空间。使用文件缓冲区可减少读取硬盘的次数。


http://chatgpt.dhexx.cn/article/NvlTmuAi.shtml

相关文章

虚拟机安装黑苹果【虚拟机安装,黑苹果安装,黑苹果无法全屏问题】(这应该全网最全的资源了吧~)

一,资源下载 链接:https://pan.baidu.com/s/1cyGiDvkJinx8dnB57gO7UQ 提取码:i615 PS:里面有虚拟机资源,Drawin.ios文件和苹果镜像文件 这里只讲如何用虚拟机安装黑苹果,不讲如何安装虚拟机,下…

VMware虚拟机安装黑苹果10.15 || AMD R7 5800处理器

VMwar版本:16Pro 链接:https://pan.baidu.com/s/1qGHEynWSV4YS9WSNonxiuA?pwdazvh 提取码:azvh macOS链接,版本为Catalina 10.5。这个版本后,os安装包就过10G了,会特别卡。 链接:https://pan…

VMware16安装macOS10.15.1 - 黑苹果 - osx虚拟机

效果图 步骤 下载安装VMware,并且利用unlocker开启macos的支持VMware利用unlocker开启MacOS支持_Rudon滨海渔村的博客-CSDN博客效果步骤下载安装vmware16http://www.winwin7.com/soft/17946.html下载unlocker3.0 (这里包括了darwin.iso和darwinPre15.is…

vm虚拟机15.5安装黑苹果maxos-10.14

鼎峰_小配针对vm虚拟机安装黑苹果maxos在学习和研究探索的过程中的一点点心得,从刚接触时的一脸懵逼,到后来慢慢的了解了,废话不多说,直接上干货。 一、需要准备的软件: a)解锁虚拟机MAC补丁:Unlocker 3.0…

图文详解如何在VMware Workstation11虚拟机上安装黑苹果Mac OS X 10.10系统

想要体验黑苹果系统当然要借助于VMware虚拟机了,那么下面大家就来看看亦是美网络小编的图文详解如何在VMware Workstation11虚拟机上安装黑苹果Mac OS X 10.10系统的教程吧! 小编的安装环境: 实体机windows8.1专业版 VMware workstation 1…

win10上的VMware安装黑Mac(黑苹果、AMD)

使用AMD处理器的笔记本,在虚拟机上安装MAC操作系统。 本机安装配置: 华硕天选 AMD Ryzen 4800H 24G运存 Mac OS 10.13 High Sierra 1. 下载所需资源 所需资源下载链接: mac os 10.13镜像,其他工具 链接: https://pan.baidu.com/s/…

VMware虚拟机安装macOS黑苹果教程,亲测流程,全过程问题解决方案记录

先介绍流程,安装过程中遇到的问题都在最后列出并写出解决方案,找解决方案的直接到最后 准备: 1.VMware虚拟机 我的比较老,为VMware Workstation 14 Pro 14.1.3 build-9474260 2.unlocker 解锁VM的macOS系统 3.macOS的小白版cdr安装包(推荐)或者macOS的dmg安装包 4.如果…

Windows下VMmare黑苹果macOS Catalina 10.15虚拟机安装VMware tools工具

请先安装好macOS Catalina 10.15虚拟机。 VMware 10.15.5安装macOS Catalina 10.15请参考我的博客 Windows下VMware Workstations Pro15.5.0安装macOS Catalina 10.15虚拟机(详细教程) 如果VMware安装的虚拟机不安装VMware tools工具将无法全屏、进行虚…

Windows 10虚拟机Vmware 安装 黑苹果macos10.14

工具链接 提取码:zko1 VMware16.2.3安装 VMware16.2.3 连接手机有问题,改用 VMware15.5.6-16341506 流程: 虚拟机 MacOS系统解锁创建虚拟机安装macOS安装VMware tools 虚拟机 MacOS系统解锁 使用工具:Unlocker.7z 停止VM服务:停止所有VMwa…

黑苹果从入门到精通:最详细的VMware安装macOS教程

前言 不知为何,以前我发的两篇关于黑苹果的文章或没过审或被删除,最近SMZDM上有不少优质的黑苹果文章发出来,貌似禁令已开,前段时间在一篇写的很不错的黑果文章下吹牛说今年要写一个系列,故有了这篇文章作为系列的开头…

VMware虚拟机安装黑苹果MacOS Mojave系统详细教程

更多资源请百度搜索:前端资源网 欢迎关注我的博客:www.w3h5.com 大家好,我的主要更新渠道是自己搭建的博客,为了节省流量,我开了防盗链。。。所以其他平台可能会有图片不能显示的问题,请转至我的博客进行查…

给windows装个Mac黑苹果虚拟机

点击上方↑↑↑蓝字[协议分析与还原]关注我们 “ windows下安装使用苹果Mac虚拟机。” 平常的生活工作中,我大部分时候使用Windows,偶尔用用Mac。实在是用不惯Mac,但有的时候,有些工作还是需要在Mac上搞,不得不用&…

分享Win10虚拟机VMware安装黑苹果MacOS Sierra图文教程

虚拟机VMware安装黑苹果MacOS详细图文教程,安装也比较简单亿破姐这里使用的但是过程挺复杂了。 准备工作 (1)虚拟机 VMware Workstation Pro (2)解锁虚拟机MAC补丁 Unlocker (3)苹果系统懒人…

使用VmWare安装黑苹果系统

目录 1.介绍2.破解安装VMware3.unlocker解锁虚拟机3.1 关闭VMware相关的进程3.2 执行安装命令 4.VmWare创建虚拟机5. 下载并配置镜像以及虚拟机设置5.1 修改镜像5.2 修改虚拟机安装路径文件内容 6. 选择镜像启动虚拟机7.安装macOS系统7.1 开启此虚拟机7.2 选择语言->简体中文…

VMware虚拟机安装黑苹果步骤与常见问题,VMware16,MacOS12.01(Moterey)

资源准备: 链接:https://pan.baidu.com/s/1JFtpMVrULiky9l3SvCXX-w 提取码:c452 说明: 1.镜像版本10.14和12.01根据需要选择其一即可,10.14的后缀为cdr,12.01的后缀为ISO,这两种文件VMware都支…

在VM虚拟机上装“黑苹果

如何在VM虚拟机上装“黑苹果” 一: 装机所需 安装过程 一: 装机所需 1、windows7/10.(本次使用windows10) 2、 VMware workstation Pro 3 、MAC系统镜像(本次使用的是10.14) 4、 unlocker-master(将mac的文件装入VM) 安装过程 1.创建新的虚拟机 2.…

【系统】VMware虚拟机安装黑苹果系统macOS 12.5详细步骤

虽然我更喜欢Windows系统,但有些情况下需要Mac运行某些软件或脚本,又不好意思到处借电脑,这时候只需要在虚拟机运行一下就可以了。之前有分享过macOS.Catalina.10.15安装教程,时隔多年,这次分享的是较新的macOS.Monter…

vmware15安装‘黑苹果’macOS 10.13(17A365)

本人是做前端的,因公司没有mac设备,但万恶的客户总是使用mac测试网站,所以就自己想办法安装一个‘黑苹果’。具体操作见下文。 一、准备工作 1、检测CPU是否支持虚拟技术 检测CPU是否支持虚拟技术需要使用工具:CPU-V 下载地址见官…

高分四号(GF4)——预处理(辐射定标、大气校正、正射校正、图像配准)

1、辐射定标 使用小插件打开GF4数据 选择PMS文件打开,GF4的空间分辨率是50米 初次打开数据,数据的增益和偏移是没有的,或者没有偏移,根据辐射定标的原理,两个值缺少一个就无法进行定标处理(下图是已经添加…

ENVI Flaash大气校正与6S大气校正(TM为例)

ENVI Flaash大气校正主要是MODTRAN大气纠正模型。 用MODTRAN模型进行大气纠正的一般步骤是:首先输入表观反射率,运行MODTRAN得到大气层顶(TOA)光谱辐射,解得相关参数;然后利用这些参数带入公式进行大气纠正。 6S…