C语言:文件系统

文章介绍了文件操作的重要性,如数据持久化存储,详细讲解了什么是文件,包括文件名的构成。接着,重点阐述了如何使用fopen和fclose函数打开和关闭文件,以及文件流的概念,简化了对外部设备的操作。示例代码展示了基本的文件打开和关闭框架。
摘要由CSDN通过智能技术生成

目录

1、为什么需要文件操作

2、什么是文件

2.1、概述

2.2、文件名

3、文件的打开和关闭

3.1、文件的打开:

3.2、文件的关闭

3.3、文件打开关闭的基本框架

3.4、什么是流(stream)


1、为什么需要文件操作

也许我们都经历过这样的场景,我们将数据存放到数组当中,数组的数据会随着程序的关闭而丢失,那是因为数组中的数据存放在主存当中,数据是易失性的,如何能让数据不丢失?或者说如何让数据持久化的存储?

我们可以选择将数据存放到文件、数据库等中,通过文件系统就可以做到数据的持久化存储。相对于数据库而言,文件系统的使用并不是那么常用,因为数据库有更强大的功能进行数据的读写。

2、什么是文件

2.1、概述

存放在磁盘上的都为文件,我们可以根据功能将其分为:程序文件、数据文件。我们可以通俗的理解为使用编译器创建的为程序文件,存放程序运行产生数据的文件,称为数据文件。

2.2、文件名

文件名为文件的唯一标识,通过文件名访问到相应的文件。

文件名包含3部分:文件路径+文件名主干+文件后缀

如:D:\code\test.txt(绝对路径)

3、文件的打开和关闭

3.1、文件的打开:

FILE * fopen ( const char * filename, const char * mode );

使用fopen函数打开文件,并返回FILE* 类型的文件指针,指向一块文件信息去,FILE 说白了就是定义文件类型的结构体,在使用的角度而言我们并不关心FILE类型的具体实现细节。我们定义一个FILE * pf;变量来管理fopen函数返回的文件信息区,我们只需要知道pf变量能关联到相对应得文件。

3.2、文件的关闭

int fclose ( FILE * stream );

使用fclose函数对文件的进行关闭。

3.3、文件打开关闭的基本框架

int file_test() {
	
	//打开文件
	FILE * pf = fopen("file_test.txt", "r");//"file_test.txt"使用的是相对路径的方式,"r"只读
	//绝对路径
	//相对路径:当前的路径是?移动到test.c位置,右键打开程序文件test.c所在文件夹
	if (pf == NULL) {
		perror("fopen");//打印错误信息
		return 0;
	}
	
	printf("文件打开成功");
    //执行对文件的相关操作
	

	//关闭文件
	fclose(pf);
	pf = NULL;

	return 0;
}

3.4、什么是流(stream)

在fclose函数中有 int fclose ( FILE * stream );文件流?

为什么有流的概念?

        

使用C语言程序可以对外部设备进行数据的输入输出操作,但是每个外部设备的组成是不相同的,对不同的外部设备需要不同的C程序,但是对于C语言程序员来说编写对于的程序还需要掌握对应的外部设备,太复杂!头皮发麻!

        

通过流的封装,我们可以直接调用的对应的流函数可以操作外部设备,大大降低的学习C语言的学习难度。fopen和fclose函数就是打开和关闭了对于的文件流。

那么,屏幕和键盘也是外部设备,我们使用scanf和printf函数分别从键盘输入数据和从屏幕显示数据为什么不需要打开对应的流?

更多相关文件操作知识,持续更新中~

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值