文件操作

一.为什么使用文件?

如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数的,如果要将数据进⾏持久化的保存,我们可以使⽤⽂件。

二.什么是文件?

文件分为程序文件和数据文件。

程序文件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows

环境后缀为.exe)。

数据文件中的内容不一定是程序,也可能是运行时读写的数据。

2.2文件名

⼀个⽂件要有⼀个唯⼀的⽂件标识,以便⽤⼾识别和引⽤。

⽂件名包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀

例如: c:\code\test.txt

为了⽅便起⻅,⽂件标识常被称为⽂件名。

三.二进制文件和文本文件

数据在内存中以二进制的形式存储,如果不加转换的输出到外存的文件中,就是二进制文件。

如果在外存上以ascll码存储的文件就是文本文件。

四.文件的打开和关闭

4.1流和标准流

流是抽象出的概念,我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便操作而产生的概念。

4.2标准流

stdin标准输入流,大多数环境中从键盘输入,例如scanf

stdout标准输出流,大多数环境输出至显示屏,例如printf。

stderr标准错误流。

他们三个的类型都是file*,通常称为文件指针。

4.2文件的打开和关闭

c规定使用fopen函数来打开文件,fclose函数来关闭文件。

五.文件的顺序读写

5.1scanf,fscanf,sscanf

scanf是从键盘中读取格式化数据,fscanf是从输入流中读取标准化数据,并且多出了file*,sscanf是从字符串中读取数据。

六.文件的随机读写

6.1fseek

根据文件指针的位置和偏移量来定位文件指针(文件内容的光标)。

file*为文件地址,long int为偏移量,origin为起始位置。

6.2ftell

返回文件指针相对于起始位置的偏移量。

6.3rewind

让文件指针的位置回到文件的起始位置。

相关推荐
薛慕昭9 小时前
嵌入式 C 语言猜大小游戏设计与实现
c语言·游戏
月光技术杂谈10 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
合作小小程序员小小店11 小时前
游戏开发,桌面%小游戏,贪吃蛇%demo,基于vs2022,c语言,easyX,无数据库
c语言·开发语言
WongKyunban15 小时前
Linux中的线程是什么?
c语言
LaoZhangGong12316 小时前
以太网HTTP数据包格式分析
c语言·stm32·网络协议·http·tcp·arp
lingggggaaaa17 小时前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
口袋物联17 小时前
设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·建造者模式
切糕师学AI18 小时前
位带操作(Bit-Banding)是什么?
c语言·arm·嵌入式开发·cortex-m·位带操作
学习路上_write18 小时前
嵌入式系统bringup指南:软硬件调试
c语言·单片机·嵌入式硬件
say_fall18 小时前
C语言编程实战:每日一题 - day7
c语言·开发语言