文件操作

一.为什么使用文件?

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

二.什么是文件?

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

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

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

相关推荐
kingmax542120081 小时前
《数据结构C语言:单向链表-链表基本操作(尾插法建表、插入)》15分钟试讲教案【模版】
c语言·数据结构·链表
mit6.8242 小时前
[box64] 解决ARM64运行x86_64跨平台兼容性 | 机器架构配置
c语言
喵了meme3 小时前
C语言实战6
c语言·开发语言
Logic1013 小时前
C程序设计(第五版)谭浩强 第七章课后习题优化算法与核心步骤解析
c语言·visualstudio·程序员·学习笔记·软件开发·编程基础·c语言入门
喵了meme3 小时前
Linux学习日记21:读写锁
linux·c语言·学习
风中月隐4 小时前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法
NeDon5 小时前
[OJ]数据结构:移除链表元素
c语言·数据结构·算法·链表
刃神太酷啦5 小时前
C++ list 容器全解析:从构造到模拟实现的深度探索----《Hello C++ Wrold!》(16)--(C/C++)
java·c语言·c++·qt·算法·leetcode·list
Herbert_hwt5 小时前
C语言结构体详解:从定义到实战应用
c语言
承渊政道5 小时前
一文彻底搞清楚链表算法实战大揭秘和双向链表实现
c语言·数据结构·算法·leetcode·链表·visual studio