【c语言】文件的基本操作

news2024/11/27 10:24:52

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c语言系列专栏:c语言之路重点知识整合 🔥
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ


目录

  • 一、文件的概念
    • 1.数据持久化
    • 2.文件种类
  • 二、fopen打开方式参数
  • 三、 FILE*文件指针
  • 四、r只读
  • 五、w覆写
  • 六、文件重命名
  • 七、文件删除

一、文件的概念

文件(file)是指可以被命名、存储在磁盘等设备上、并包含一定类型数据的信息实体。

文件是计算机中最基本的数据持久化形式之一,能够在程序结束后继续存在,并可以随时读取和修改。

1.数据持久化

内存:内存中储存数据,存取速度快,一旦出现计算机断电,内存中的数据立刻消失并且无法找回

外存:通常包括硬盘、U盘等
外存特点:存取速度比内存慢,但是可以持久保存,不会随着断电而数据消失。

在项目开发中,我们把数据永久保存到硬盘的过程称为数据持久化。

从内存保存到外存

在这里插入图片描述

2.文件种类

文件通常分为不同的类型,例如文本文件、二进制文件、图片文件、音频文件等,每种类型对应着特定的数据格式和存储方式。为了管理这些文件,计算机系统会有相应的文件系统(filesystem),它定义了文件的结构、组织和访问方法。

我们主要研究两大类:文本文件二进制文件

二、fopen打开方式参数

以某种方式打开文件,并返回此文件在内存缓冲区的指针。fopen打开文件的方式如图:

在这里插入图片描述

三、 FILE*文件指针

它可以指向某个文件,通这个文件指针就可以访问该文件,以各种方式进行对文件的读取和写入操作。

打开文件:使用fopen()函数可以打开指定文件,并返回一个指向该文件类型的指针。

关闭文件:使用fclose()函数关闭打开的文件,并释放该文件占用的系统资源。
读取和写入数据:通过fprintf()、fscanf()、fwrite()、fread()等函数,可以将数据写入到指定的文件或从文件中读取数据。

示例:该readFile为文件指针类型,指向E:\TianXiFile\1.txt这个文件

	FILE* readFile = fopen("E:\\TianXiFile\\1.txt","r"); 

四、r只读

用r只读模式打开文件流

FILE* readFile = fopen("E:\\TianXiFile\\1.txt","rb"); 
	
	if (readFile)//如果文件打开成功
	{
		 
		
		fclose(readFile);//关闭文件流。
		readFile=NULL;//释放文件指针。
	}
	else
	{
		printf("文件不存在\n");
	}

以只读方式读取E:\TianXiFile\1.txt文件,如果没有该文件,就会提示文件不存在

在这里插入图片描述

我们手动创建一个1.txt文件再执行:

在这里插入图片描述

(注意:查看勾选文件扩展名

在这里插入图片描述

五、w覆写

用w覆写模式 打开并创建文件

	FILE *p=fopen("E:\\TianXiFile\\2.txt","wt"); //w方式: 如果文件不存在,则创建一个,如果存在,则清空并覆盖新的内容
	if (p)
	{
		printf("文件创建成功!\n");
		fclose(p);
		p = NULL;
	}
	else
	{
		printf("创建失败\n");
	}

在这里插入图片描述

路径下就创建了一个2.txt文件:

在这里插入图片描述

如果将路径修改为c盘,创建失败的情况:

在这里插入图片描述

六、文件重命名

rename函数:

在这里插入图片描述
根据是否返回0,我们可以判断重命名是否成功

	// 给文件改名:已有名字,新的名字

	//rename("E:\\TianXiFile\\2.txt", "E:\\TianXiFile\\2_2.txt");
	if (rename("E:\\TianXiFile\\2.txt", "E:\\TianXiFile\\2_2.txt") == 0)
	{
		printf("重命名成功!\n");
	}
	else
	{
		printf("重命名失败!\n");
	}

执行前:

在这里插入图片描述

执行后:

在这里插入图片描述

七、文件删除

remove函数:

在这里插入图片描述

	//remove("E:\\TianXiFile\\2.txt");
	if (remove("E:\\TianXiFile\\2.txt")== 0)
	{
		printf("删除成功!\n");
	}
	else
	{
		printf("删除失败!\n");
	}

删除前:

在这里插入图片描述

删除后:

在这里插入图片描述

文件的基本操作到此结束,下面分别是文本文件和二进制文件的操作

未更新...下次写

在这里插入图片描述

大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/538093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

说说谷歌Chrome浏览器无痕浏览器窗口

当您启用无痕浏览后&#xff0c;设备的其他用户将不会看到您的历史记录。 Chrome 不会保存您的浏览记录或您在表单中填写的信息。当您浏览时&#xff0c;Chrome 会记住相应的 Cookie 和网站数据&#xff0c;但当您退出无痕模式时&#xff0c;Chrome 会删除这些数据。您可在打开…

qkeras量化模型-直接搭建模型的量化感知训练

量化框架qkeras: qkeras是谷歌的感知训练量化框架&#xff0c;具有一些功能&#xff1a; 1、支持导入keras模型到qkeras模型&#xff1b; 2、支持剪枝和量化&#xff0c;使用tensorflow lite一起配合&#xff0c;简直不要太好用&#xff1b; 3、支持指定量化函数&#xff0…

如何将百度等其他网页设置为谷歌浏览器的首页

原因&#xff1a; 谷歌浏览器默认是https://chrome.google.com/以该网址访问的 如果您想将百度网页设置为谷歌浏览器的首页&#xff0c;可以按照以下步骤进行操作&#xff1a; [ 1 ] 打开您的谷歌浏览器&#xff0c;点击右上角的“三个点”按钮&#xff0c;选择“设置”选项。[…

基于SpringBoot的财务管理系统的设计与实现

背景 财务管理系统能够通过互联网得到广泛的、全面的宣传&#xff0c;让尽可能多的员工了解和熟知财务管理系统的便捷高效&#xff0c;为管理者和员工提供了服务&#xff0c;节省人力、物力和时间&#xff0c;提高工作效率。 系统设计 为了更好的去理清本系统整体思路&#…

深度学习用于医学预后-第二课第四周1-4节-使用线性和基于树的模型构建风险评估模型

今天起进入到第四周课程的学习&#xff0c;使用线性和基于树的模型构建风险评估模型 风险分数 本周&#xff0c;你将学习建立和评估生存预测模型的策略&#xff0c;这些模型将使你能够比较个体患者的风险。您将学习两个这样的模型:Cox比例风险和生存树。最后&#xff0c;您将…

【学习心得】VMware的下载安装与创建Ubuntu虚拟机

Python在Linux系统中的开发环境搭建① 1、VMware的下载安装 1.1 去官方网站下载软件&#xff1a;https://www.vmware.com/ 1.2 在工具中找到workstation pro 1.3 点击试用版本 1.4 点击下载 1.5 双击安装 1.6 下一步 1.7 接受许可 1.8 选择足够空间的磁盘进行安装、勾选增强…

chatgpt赋能Python-pycharm中如何设置滚动条

PyCharm中如何设置滚动条 介绍 PyCharm是一款由JetBrains开发的Python集成开发环境&#xff0c;提供了丰富的功能和工具&#xff0c;让Python开发更加高效和方便。其中一个重要的功能就是滚动条&#xff0c;它可以帮助我们在长篇代码中快速找到需要的部分&#xff0c;并浏览整…

Chrome浏览器更新失败的问题(chrome无法更新至最新版本怎么办)

报错1 如果在计算机上更新 Chrome 时遇到问题&#xff0c;您可能会看到以下错误消息&#xff1a; 更新失败&#xff1a;管理员已停用更新更新失败&#xff08;错误&#xff1a;3 或 11&#xff09;&#xff1a;检查更新时出错&#xff0c;无法访问更新服务器更新失败&#xf…

网络安全学习路线

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

chatgpt赋能Python-pycharm关联py文件

PyCharm关联Python文件的使用指南 PyCharm作为一款强大的Python开发工具&#xff0c;其集成的许多功能可以大大提高开发效率。其中之一就是PyCharm可以自动关联Python文件&#xff0c;让用户更加方便的进行Python程序的编写。本文将详细介绍PyCharm关联Python文件的使用方法及…

chatgpt赋能Python-pycharm快捷键

PyCharm快捷键大全&#xff1a;提高Python编程效率的秘密武器 在Python开发的过程中&#xff0c;PyCharm是被广泛使用的IDE之一。它可以帮助我们提高效率&#xff0c;省去不少重复性的工作&#xff0c;同时还具有强大的代码自动完成和调试功能。而在PyCharm中&#xff0c;有许…

软考-软件设计师

目录 一、计算机系统 1.1 CPU的功能有&#xff1a; 1.2 运算器的组成 1.3 控制器——不仅要保证程序的正确执行、还要能够处理异常事件 1.3.1 指令控制逻辑 1.4 计算机基本单位 1.5 进制的变换 1.5.1 进制加减法 1.6 原码、反码、补码、移码 1.7 浮点数 1.8 寻址 1…

chatgpt赋能Python-pycharm同一个程序开两个

PyCharm同一个程序开两个&#xff1a;提升编程效率的好帮手 作为一名有10年Python编程经验的工程师&#xff0c;我经常会使用PyCharm作为我的主要编程工具。而在日常的编程工作中&#xff0c;有时会遇到这样一个情况&#xff1a;需要在同一个程序中同时进行两个不同的操作。这…

C++二叉树中序非递归遍历(两种方法)

#include <stdio.h> #include <malloc.h> //树结构 typedef struct kl { int data; struct kl *lchild; struct kl *rchild; }bittree; //栈结构 typedef struct ji { int top; bittree **data; int size; }stack; //初始化栈 void in…

Linux 基金会开源教育及人才培养峰会来了

开源技术正在快速发展&#xff0c;在云计算、大数据、人工智能等领域逐步形成技术主流。作为一种新的软件生产方式&#xff0c;开源已经被列入“十四五”规划纲要。纲要提出&#xff0c;支持数字技术开源社区等创新联合体发展&#xff0c;完善开源知识产权和法律体系&#xff0…

10.从架构师角度理解MySQL性能优化和索引合并

MySQL性能调优 1. 查询性能优化1.1 什么是慢查询1.2 慢查询的配置1.3 慢查询解读分析1.3.1 日志模式1.3.2 慢查询分析mysqldumpshow 1.4 优化SQL查询方法论1.4.1 业务层--请求了不需要的数据&#xff1f;查询不需要的记录总是取出全部列重复查询相同的数据 1.4.2 执行层--是否在…

File和IO流

1、File 1.1、何为File&#xff1f; File类的对象代表操作系统的文件&#xff08;文件、文件夹&#xff09; File类提供了诸如&#xff1a;创建文件对象代表文件&#xff0c;获取文件信息&#xff08;大小、修改时间&#xff09;、删除文件、创建文件&#xff08;文件夹&…

chatgpt赋能Python-pandas归一化python

Pandas归一化Python教程 越来越多的数据分析和机器学习应用需要将数据归一化&#xff0c;以保证数据的统一性和可比性。Pandas是Python中最常用的数据处理库之一&#xff0c;它提供了许多常用的方法&#xff0c;包括数据归一化。本教程将介绍如何使用Pandas进行数据归一化&…

Springboot地方废物回收机构管理的设计与实现

背景 地方废物回收机构的需求和管理上的不断提升&#xff0c;地方废物回收机构管理的潜力将无限扩大&#xff0c;地方废物回收机构管理系统在业界被广泛关注&#xff0c;本系统及对此进行总体分析&#xff0c;将地方废物回收机构信息管理的发展提供参考。地方废物回收机构管理…