【C语言】熟悉文件基础知识
欢迎关注个人主页:逸狼
创造不易,可以点点赞吗~
如有错误,欢迎指出~
文件
为了数据持久化保存,使用文件,否则数据存储在内存中,程序退出,内存回收,数据就会丢失。
程序设计中,文件分两种:程序文件、数据文件
文件名
唯一的文件标识,包含3部分:文件路径+文件名主干+文件后缀 (例:c:\code\test.txt )
文本文件和二进制文件
文本文件是数据以ASCII字符的形式存储的文件
二进制文件是数据在内存中以二进制的形式存储的文件
字符⼀律以ASCII形式存储,数值型数据既可以⽤ASCII形式存储,也可以使⽤⼆进制形式存储。
如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占⽤5个字节(每个字符⼀个字节),⽽ ⼆进制形式输出,则在磁盘上只占4个字节

测试代码
#include<stdio.h>
int main()
{int a = 10000; FILE* pf = fopen("test.txt", "wb");fwrite(&a, 4, 1, pf);//以二进制的形式写入文件fclose(pf);pf = NULL;return 0;
}



流
我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。
C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。
⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。

标准流
C语⾔程序在启动的时候,默认打开了3个流:
- stdin 标准输⼊流,在⼤多数的环境中从键盘输⼊,scanf函数就是从标准输⼊流中读取数据。
- stdout 标准输出流,⼤多数的环境中输出⾄显⽰器界⾯,printf函数就是将信息输出到标准输出流中。
- stderr 标准错误流,⼤多数环境中输出到显⽰器界⾯。
这是默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏输⼊输出操作的。
stdin、stdout、stderr 三个流的类型是: FILE * ,通常称为⽂件指针。
C语⾔中,就是通过 FILE * 的⽂件指针来维护流的各种操作的。
文件指针
每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名 字,⽂件状态及⽂件当前的位置等)。这些信息是保存在⼀个结构体变量中的。该结构体类型是由系统声明的,取名FILE.(不需要关注文件内部细节)
每当打开⼀个⽂件的时候,系统会根据⽂件的情况⾃动创建⼀个FILE结构的变量,并填充其中的信 息,使⽤者不必关⼼细节

文件的打开和关闭
⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。
在编写程序的时候,在打开⽂件的同时,都会返回⼀个FILE* 的指针变量指向该⽂件,建立了指针和⽂件的关系。
ANSIC规定使⽤ fopen 函数来打开⽂件, fclose 来关闭⽂件。
fopen打开文件



fclose关闭文件

代码操作
用只读形式,没有创建文件

绝对路径
比如我想在桌面上创建一个文件

相对路径
- . 表示当前目录
- . . 表示上一级路径
- 没写 . 表示默认当前路径

相关文章:
【C语言】熟悉文件基础知识
欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 文件 为了数据持久化保存,使用文件,否则数据存储在内存中,程序退出,内存回收,数据就会丢失。 程序设计中&…...
信息系统安全与对抗-作业2
目录 1、使用自己姓名拼音创建一个账户, 并使用命令和图形化查看 2、使用自己拼音打头字母创建一个隐藏账户 ,并使用命令和图形化查看 3、使用命令启动 telnet 服务 4、使用命令打开防火墙 23 端口 5、熟悉LINUX系统,使用命令行创建用户…...
【软考高项】【计算专题】- 5 - 进度类 - 横道图/甘特图
一、知识点 1、基本定义 甘特图(Gantt chart )又称为横道图、条状图(Bar chart),通过条状图来显示项目各活动的进 度情况。以提出者亨利劳伦斯甘特( Henry Laurence Gantt)先生的名字命名。 目前许多文档工具都可以画甘特图。 (1)我的举例 …...
Ubuntu20.04使用XRDP安装原生远程桌面
Ubuntu20.04使用XRDP安装原生远程桌面 1.安装gnome桌面 # 如果没有更新过源缓存,先更新一下 sudo apt update# 安装gnome桌面 # 可选参数 --no-install-recommends,不安装推荐组件,减少安装时间和空间占用 sudo apt install ubuntu-desktop…...
uniapp:启动图 .9png 制作教程
1、工具安装:自行下载Android Studio 2、制作.9png 注意上图3条黑线的位置,意思是:标注黑线的位置可以进行缩放。 对其大多数启动图来说,标注以上3条黑线即可。...
NVMFS5113PLWFT1G汽车级功率MOSFET 60V 10A/64A满足AEC-Q101标准
AEC-Q101认证标准详细解读: AEC-Q101是一种汽车电子元件可靠性标准,由汽车电子委员会(Automotive Electronics Council,简称AEC)制定。该标准旨在确保在汽车环境中使用的电子元件具有足够的可靠性和耐久性。 AEC-Q10…...
设计表时,如何选择正确的数据类型
前言 假设现在有一个需求,需要创建一张orders表来存储客户的订单信息。假设表结构如下: CREATE TABLE orders (order_id INT AUTO_INCREMENT PRIMARY KEY, -- 订单ID,主键,自增customer_id INT NOT NULL, -- 客户ID…...
iZotope RX 7 Advanced:音频修复与编辑的巅峰之作
在音频处理领域,iZotope RX 7 Advanced无疑是一款强大的软件,它集合了众多先进的音频修复和编辑功能,为用户提供了全方位的音频处理解决方案。 首先,iZotope RX 7 Advanced具备强大的噪声削减功能。无论是环境噪音、背景杂音还是…...
Mac 制作可引导安装器
Mac 使用U盘或移动固态硬盘制作可引导安装器(以 Monterey 为例) 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分,称为分区。分区也称为容器,不同容器…...
深入了解 JavaScript 混淆加密和环境检测
JavaScript混淆加密是一种通过修改代码结构和命名约定来增加代码的复杂性,使其难以被理解和逆向工程的技术。在这篇文章中,我们将深入探讨JS混淆加密的一些逻辑,并介绍如何通过环境检测来提高代码的安全性。我们将使用案例代码演示这些概念。…...
可让照片人物“开口说话”阿里图生视频模型EMO,高启强普法
3 月 1 日消息,阿里巴巴研究团队近日发布了一款名为“EMO(Emote Portrait Alive)”的 AI 框架,该框架号称可以用于“对口型”,只需要输入人物照片及音频,模型就能够让照片中的人物开口说出相关音频…...
全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案
产品概述 ITX-XMF201是一款高性能边缘计算网关主板,采用飞腾E2000Q 4核处理器,国产化率达到95%国产化。 板载2电口,2路CAN,6路RS232接口,1路RS485接口,16路GPIO,可以满足银行、轨道交通、电力等…...
292.【华为OD机试】跳马问题(广度优先搜索(BFS)JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…...
Qt 中Qwidget相关属性
文章目录 1. QWidget 核心属性1.1 enabled1.2 geometry1.2.1 window frame 的影响 1.3 windowTitle1.4 windowIcon1.4.1 qrc的使用 1.5 windowOpacity1.6 cursor1.7 focusPolicy1.8 styleSheet 1. QWidget 核心属性 在 Qt 中, 使⽤ QWidget 类表⽰ “控件”. 像按钮, 视图, 输…...
matplotlib散点图
matplotlib散点图 假设通过爬虫你获取到了北京2016年3, 10月份每天白天的最高气温(分别位于列表a, b), 那么此时如何寻找出气温和随时间(天)变化的某种规律? from matplotlib import pyplot as pltx_3 range(1, 32) x_10 range(51, 82)y_3 [11,17,16,11,12,11,12,6,6,7,8…...
day32贪心算法 part02
贪心系列的时候,题目和题目之间貌似没有什么联系,是真的就是没什么联系,因为贪心无套路,没有个整体的贪心框架解决一系列问题,只能是接触各种类型的题目锻炼自己的贪心思维。贪心只是一类题的统称,并没有什么固定套路。 122. 买卖…...
判断docker 镜像启动成功 shell脚本
要编写一个Shell脚本来判断Docker镜像是否启动成功,你可以使用docker ps命令来检查容器是否在运行状态。以下是一个简单的Shell脚本示例,用于判断Docker镜像是否成功启动: #!/bin/bash# 指定要检查的容器名称或ID CONTAINER_NAME"your_c…...
Android AppCompatActivity 方法详解
在 Android 开发中,AppCompatActivity 是一个常用的类,它提供了对新版 Android 特性在旧版 Android 上的兼容支持。作为 Android 支持库的一部分,它通常被用作活动(Activity)的基类。下面我们将介绍 AppCompatActivity…...
[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作
[FastDDS] 基于eProsima FastDDS的移动机器人数据中间件——介绍与准备工作 注明:无 本栏目主要讲述,基于eProsima FastDDS的移动机器人数据中间件的实现、使用、性能测试。 What is [ FastDDS ]: eProsima Fast DDS是DDS(数据分发服务&…...
4. 编写app组件
1. 代码 main.ts // 引入createApp用于创建应用 import {createApp} from "vue"// 引入App根组件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以写三种标签1. template标签,写html结构2. script 脚本标签&…...
【字节跳动】Robix系统的底层技术参数与源码机密档案
Robix 底层机密续档 纯裸数据无修饰一、内存寻址原生源码#define MEM_BASE_ADDR 0x80000000#define MEM_LIMIT_MASK 0x00000000uint64_t mem_unlock_range(uint64_t start,uint64_t end){mmu_page_protect_clear();high_addr_space_open();cache_origin_mode();dma_direct_acce…...
昇腾CANN ATB KV Cache 与 PagedAttention:显存碎片消除的完整方案
LLM 推理的最大瓶颈不是计算——是显存。长上下文下,KV Cache 的显存占用是二次增长的:seq_len128K → KV Cache 128K 每层 KV 大小 128K (2 hidden head_num) 128K 2 8192 32 32GB。加上模型参数(70B 2bytes 140GB)…...
紧急预警:新课标实施倒计时90天!用PlayAI快速构建跨学科项目式学习(PBL)资源包的5步极速法
更多请点击: https://kaifayun.com 第一章:紧急预警:新课标实施倒计时90天!用PlayAI快速构建跨学科项目式学习(PBL)资源包的5步极速法 距离《义务教育课程方案(2022年版)》全面落地…...
AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系
一个很多人没做但很简单的事:去搜索一下自己的真实姓名、手机号、家庭住址,看看哪些信息已经公开在网上。知道自己的暴露面,才知道要重点保护什么。 haveibeenpwned是免费、靠谱、隐私友好的数据泄露查询工具。 安全防护不追求完美࿰…...
Mumu模拟器ADB连接Unity Profiler全攻略
1. 为什么连不上Mumu的ADB,90%的人卡在第一步就放弃了“ADB device not found”、“offline”、“unauthorized”,这几个词我去年在Unity项目组的晨会白板上写了整整三周。不是因为技术多难,而是因为Mumu模拟器的ADB服务默认不走标准路径&…...
AI技术落地情报简报:面向执行层的模型选型与Prompt工程实战
1. 这不是一份普通 newsletter:它是一张AI领域的动态认知地图“This AI newsletter is all you need #61”——光看标题,你可能以为这又是一份泛泛而谈的AI资讯合集。但作为连续追踪该系列超过18个月、亲手拆解过其中52期原始内容、并用其指导过7个真实产…...
工业AI落地:自定义数据集与交叉验证的动态选择策略
1. 这不是选择题,而是控制权与可信度的平衡术你手头刚攒够2000张标注好的工业缺陷图,模型在验证集上跑出了92.3%的准确率——但上线三天后,产线新批次的钢板表面反光角度变了,准确率直接掉到68%。或者,你用sklearn的St…...
2026最新大模型入门电子书学习推荐,必读9本大模型书籍
大模型入门必读的9本书籍汇总NO.1: 《基于GPT-3,ChatGPT,GPT-4等Transformer架构的自然语言处理》主要内容: 了解用于解决复杂语言问题的新技术。将GPT-3与T5、GPT-2和基于BERT的Transformer的结果进行对比。使用TensorFlow、PyTorch和GPT-3执…...
突破性升级:Windows Package Manager 1.8让软件管理效率提升300%
突破性升级:Windows Package Manager 1.8让软件管理效率提升300% 【免费下载链接】winget-cli WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Appl…...
解锁Midjourney V6复古风生产力:3步精准控制颗粒度、褪色曲线与时代错位感(附12组实测Prompt参数表)
更多请点击: https://codechina.net 第一章:Midjourney V6复古美学的底层逻辑重构 Midjourney V6 并非简单迭代,而是对“视觉时间性”的一次系统性重编码——其复古美学并非依赖滤镜叠加或风格迁移模型,而是将胶片颗粒、暗房化学…...

