22.《C语言》——【如何进行文件操作?】上集

news2024/9/22 7:26:59

🆕 开场白


亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优秀的程序员。如果你有任何疑问或建议,请随时在评论区留言,让我们一起成长进步!现在,让我们开始这场知识之旅吧!


在这里插入图片描述


🚀 个人主页:三亿奶奶心中的梦
▶️ 收入专栏:C语言


🌏文章目录

  • 🆕 开场白
  • 🆕前言
  • 📑1. 为什么使用文件?
  • 📑2. 什么是文件?
    • 🔖2.1 程序文件
    • 🔖2.2 数据文件
    • 🔖2.3 文件名
  • 📑3. 二进制文件和文本文件
    • 🔖3.1 数据如何在文件中存储
  • 📑结束语


🆕前言

本章是文件操作的上集,讲解如何进行文件操作,如有错误,还请指出~🌹


📑1. 为什么使用文件?


文件,相当于一个存储箱,能够将数据进行持久化的保存。如果没有文件,我们写的程序中的数据是存储在电脑的内存中,当程序退出,内存就回收,数据也就丢失了,当我们再次运行程序,上一次的程序中的数据我们是看不到了。

比方说:原来n的值是0,当我在键盘上对n进行输入数据,n的值变为了200。

在这里插入图片描述

当我退出程序,再次操作,n的值还是0。所以说,当程序退出,内存回收,数据也就不见了,要想对数据持久保存,就需要对文件进行操作▶️▶️▶️


📑2. 什么是文件?


在电脑硬盘上的文件就是文件。在程序设计中,我们一般谈的文件分为2种:一是程序文件,二是数据文件。


🔖2.1 程序文件


程序文件包含源程序文件,(.c为后缀),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。

如下图⬇️⬇️⬇️

源程序文件:
在这里插入图片描述

目标文件:
在这里插入图片描述

可执行文件:
在这里插入图片描述


🔖2.2 数据文件


文件内容不一定都是程序,而是程序运行时读写的数据,比方说:程序运行需要从中读取数据的文件或者输出内容的文件。

在本章节,我们更多的探讨数据文件。

在还没了解该内容时,我们对数据的处理无非是输入输出都是以终端为对象,运行结果显示到显示屏上。

其实在有时候,我们会把数据输入到硬盘上,当需要的时候,再从硬盘上把数据读取到内存中使用,那么我们探讨的就是如何进行这一操作。


🔖2.3 文件名


在此之前,我们还需了解什么是文件名。

一个文件要有一个唯一的文件标识,以便用户的使用。

文件名就包含3部分: 文件路径+文件名主干+文件后缀

例如: c:\code\test.txt


📑3. 二进制文件和文本文件


根据数据的组织形式,数据文件被称为文本文件二进制文件

数据在内存中以二进制的形式存储,如果不对其进行其他的转换输出到文件中,这就是二进制文件

如果要求在文件中以ASCll码进行存储,那么这就需要在存储前进行转换,以ASCll字符的形式存储在文件中,这就是文本文件


🔖3.1 数据如何在文件中存储


字符一律以ASCll形式存储,数值整型既可以是ASCll形式存储,也可以是二进制形式存储。

比如说,有一个整型10000,如果以ASCll码的形式输出到硬盘上,则在硬盘中占用5个字节;如果是以二进制形式输出,则占4个字节。

在这里插入图片描述


📑结束语


非常感谢您花时间阅读我的博客,希望我的分享能为您带来收获。如果您对本文有任何想法或疑问,欢迎在评论区留言交流。如果您喜欢我的博客,请继续关注,我会定期更新更多精彩内容。最后,别忘了行动起来的力量,让我们一起实践这些方法,见证自己的成长和进步!


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

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

相关文章

鸿蒙语言基础类库:【@system.prompt (弹窗)】

弹窗 说明: 从API Version 8 开始,该接口不再维护,推荐使用新接口[ohos.prompt]。本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import prompt from system.prompt;…

Python算法实现之排序算法的Python实现详解

概要 排序算法是计算机科学中最基础和最重要的算法之一。它们在数据处理中起着关键作用,广泛应用于搜索、数据分析和优化等领域。本文将详细介绍几种常见的排序算法及其Python实现,包括冒泡排序、选择排序、插入排序、归并排序和快速排序,并通过具体示例代码展示它们的工作…

插画感言:成都亚恒丰创教育科技有限公司

插画感言:笔触间的灵魂对话 在这个快节奏、高压力的时代,我们时常在寻找那些能够触动心灵、让灵魂得以片刻栖息的角落。而插画,这一融合了艺术与情感的独特形式,便如同一股清泉,缓缓流淌进每个人的心田,以…

【iOS】——编译链接和动态链接器

前言 计算机语言分为机器语言:汇编语言,高级语言。 可以将高级语言分为两种:1,编译语言和解释型语言(直译式语言)。 编译型语言(一次性翻译) 编译型语言的程序只要经过编译器编译之…

关于dom4j主节点的xmlns无法写入的问题

由于最近需要做一个xml的文件,使用dom4j的时候发现了一个bug,就是我的xmlns根本无法写入到xml的头部标签中。 Element element document.addElement("test"); element.addAttribute("xmlns", "urn:Declaration:datamodel:sta…

小程序js 把链接转换为二维码

GitHub - Rookie-M/weapp-qrcode: weapp.qrcode.js 在 微信小程序 中,快速生成二维码 1.要下载上面地址的插件包 2.引用 import drawQrcode from ../../utils/weapp.qrcode.minonLoad(options) {let that thisconsole.log(JSON.parse(options.info))that.setData…

[word] word表格跨页断开实现教程 #职场发展#媒体

word表格跨页断开实现教程 选中整个word表格 单击鼠标右键,选择“表格属性”选项 切换至“行”标签,找到“允许跨页断行”选项 勾选上“允许跨页断行”,单击“确定”按钮,完成! word表格跨页断开实现教程的下载地址&a…

Memcached介绍与使用

引言 本文是笔者对Memcached这个高性能分布式缓存组件的实践案例,Memcached是一种高性能的分布式内存对象缓存系统,用于减轻数据库负载,加速动态Web应用,提高网站访问速度。它通过在内存中缓存数据和对象来减少读取数据库的次数&…

路由数据获取及封装方法

数据库设计 自联表 定义tree字段 public class LabelValue{public int label { get; set; }public string? value { get; set; }public List<LabelValue> children { get; set; }}获取路由方法 public Response<object> getMenuList() {Response<object>…

【python基础】基本数据类型

文章目录 一. Python基本数据类型1. 整数1.1. python的四种进制1.2. 数中的下划线 2. 浮点数3. 复数4. 布尔型5. 运算符5.1. 算术运算符5.2. 比较运算符5.3. 逻辑运算符5.4 运算符优先级 6. 常量 二. 注释三. Python之禅 一. Python基本数据类型 1. 整数 无长度限制&#xff1…

Java面试八股之什么是Redis的缓存更新

什么是Redis的缓存更新 Redis的缓存更新是指当缓存中的数据发生变化时&#xff0c;需要将这些变化同步到缓存中以保持数据的一致性。缓存更新的目的是确保缓存中的数据始终是最新的&#xff0c;以便用户可以获取到最新的数据。 常见的缓存更新策略包括&#xff1a; 直接覆盖…

OpenCv 如何在 Java 中使用

Java 项目引入 OpenCv 环境准备OpenCv介绍下载Maven 安装动态链接库 完成 环境准备 JDK 8 OpenCv 4.0.0 Maven 3.9 Windows 11 OpenCv 介绍 OpenCV&#xff08;开源计算机视觉库&#xff09;是一个功能强大的计算机视觉和机器学习库。它提供了广泛的工具和算法&#xff0c;用…

Kafka Producer之幂等性

文章目录 1. 启用幂等性2. 底层变化3. 数据不重复4. 数据有序 幂等性通过消耗时间和性能的方式&#xff0c;解决乱序和重复问题。 但是只能保证同一生产者在一个分区中的幂等性。 1. 启用幂等性 //创建producerHashMap<String, Object> config new HashMap<>();…

js vue axios post 数组请求参数获取转换, 后端go参数解析(gin框架)全流程示例

今天介绍的是前后端分离系统中的请求参数 数组参数的生成&#xff0c;api请求发送&#xff0c;到后端请求参数接收的全过程示例。 为何会有这个文章&#xff1a;后端同一个API接口同时处理单条或者多条数据&#xff0c;这样就要求我们在前端发送请求参数的时候需要统一将请…

精准营销从数据开始,Xinstall为App增长插上翅膀,安装数据尽在掌握!

在这个信息爆炸的时代&#xff0c;App市场竞争日益激烈&#xff0c;如何精准获取并分析安装数据&#xff0c;成为了每一个App开发者和运营者必须面对的重要课题。数据&#xff0c;是指导我们行动的灯塔&#xff0c;是优化策略、提升转化的关键。然而&#xff0c;对于许多开发者…

ElmoCha——体验最好的 web 内容 AI 总结插件

介绍 最近我用了很多网页总结产品&#xff0c;share 一下我认为最好用的 web 总结的 AI 插件。 当前体验最好的 web 内容总结插件&#xff1a;ElmoChat&#xff0c;由 Lepton 开发&#xff0c;可以生成网页总结、摘要、观点、相关问题。 非常方便的是&#xff0c;总结的内容提…

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(二)-定义和缩写

引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 【免费】3GPPTS23.256技术报告-无人机系…

【JVM基础03】——组成-详细介绍下Java中的堆

目录 1- 引言&#xff1a;堆1-1 堆是什么&#xff1f;(What)1-2 为什么用堆&#xff1f;堆的作用 (Why) 2- ⭐核心&#xff1a;堆的原理&#xff08;How&#xff09;2-1 堆的划分2-2 Java 7 与 Java 8 的堆区别 3- 小结&#xff1a;3-1 详细介绍下Java的堆&#xff1f;3-2 JVM …

【转盘案例-弹框-修改Bug-完成 Objective-C语言】

一、我们来看示例程序啊 1.旋转完了以后,它会弹一个框,这个框,是啥, Alert 啊,AlertView 也行, AlertView,跟大家说过,是吧,演示过的啊,然后,我们就用iOS9来做了啊,完成了以后,我们要去弹一个框, // 弹框 UIAlertController *alertController = [UIAlertContr…

CI/CD的node.js编译报错npm ERR! network request to https://registry.npmjs.org/

1、背景&#xff1a; 在维护paas云平台过程中&#xff0c;有研发反馈paas云平台上的CI/CD的前端流水线执行异常。 2、问题描述&#xff1a; 流水线执行的是前端编译&#xff0c;使用的是node.js环境。报错内容如下&#xff1a; 2024-07-18T01:23:04.203585287Z npm ERR! code E…