文件操作

一.为什么使用文件?

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

二.什么是文件?

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

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

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

相关推荐
是翔仔呐7 小时前
第11章 显示外设驱动:I2C协议OLED屏、SPI协议LCD屏字符/图片/中文显示
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
木下~learning9 小时前
对于Linux中等待队列和工作队列的讲解和使用|RK3399
linux·c语言·网络·模块化编程·工作队列·等待队列
是翔仔呐9 小时前
第13章 SPI通信协议全解:底层时序、4种工作模式与W25Qxx Flash芯片读写实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
IT方大同9 小时前
RT_thread(RTOS实时操作系统)线程的创建与切换
c语言·开发语言·嵌入式硬件
是翔仔呐9 小时前
第14章 CAN总线通信全解:底层原理、帧结构与双机CAN通信实战
c语言·开发语言·stm32·单片机·嵌入式硬件·学习·gitee
深邃-10 小时前
数据结构-队列
c语言·数据结构·c++·算法·html5
2301_8227828212 小时前
C语言数组通关攻略!从一维到字符数组,零基础也能轻松掌握
c语言·算法·数组·编程基础·避坑技巧
2301_8227828212 小时前
C3 vs Zig:2026年,谁才是真正能“修复”C语言的救星?
c语言·zig·c3·系统级开发·语言革新
星夜夏空9913 小时前
C语言进阶项目——搭建内存池
c语言·开发语言
聆风吟º14 小时前
【C标准库】深入理解 C 语言memmove函数:安全内存拷贝的利器
c语言·开发语言·memmove·库函数