文件操作

一.为什么使用文件?

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

二.什么是文件?

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

程序文件包括源程序⽂件(后缀为.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

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

相关推荐
草莓熊Lotso40 分钟前
【C++】递归与迭代:两种编程范式的对比与实践
c语言·开发语言·c++·经验分享·笔记·其他
鹿鹿学长9 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
伴杯猫9 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
Want59511 小时前
C/C++圣诞树①
c语言·开发语言·c++
l1t13 小时前
轻量级XML读写库Mini-XML的编译和使用
xml·c语言·解析器
小莞尔14 小时前
【51单片机】【protues仿真】基于51单片机停车场的车位管理系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
xianyinsuifeng15 小时前
Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
c语言·数据库·oracle
学c语言的枫子15 小时前
数据结构——双向链表
c语言·数据结构·链表
3壹17 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
etcix18 小时前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法