C语言文件操作

7 篇文章 0 订阅
1 篇文章 0 订阅
本文介绍了文件在数据持久化中的作用,详细阐述了C语言中如何进行文件操作,包括文件的定义、打开方式(如文本文件和二进制文件的读写模式)以及基本的文件读写函数fopen、fread和fwrite的使用。同时,讨论了文件在磁盘上的存储原理和虚拟内存的概念,强调了文件在数据存储和管理中的重要性。
摘要由CSDN通过智能技术生成

为什么使用文件?


当我们在编写一个项目的时候,自然而然想到要把之前写入的数据保存起来。而只有我们自己选择删除数据的时候,数据才不复存在。这就涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式。此处我们就讲到如何将数据放入到磁盘文件当中。

文件的定义

文件就是电脑上c盘内存储的东西,c盘一般为系统盘,根据文件的功能可以分为程序文件和数据文件。例如后缀为 .txt .cpp .ppt .jpg这都是不同形式的文件。

C语言中的文件操做使用细则

#include<stdio.h>
int main() {
	FILE* fp = fopen("1.txt", "w");
}

FILE 是一个结构体

这是他的结构体构成

fopen是打开文件操作 ,其中的参数是fopen("文件名.后缀","打开方式“)

其中打开方式分 文本文件和二进制文件

文本文件二进制文件
r 读rb 读
w 写wb 写

然后还有几个特殊形式

r+(可读可写)

读取文件时如果文件不存在就会显示打开失败

文件存在是会覆盖原有文件内容

w+(可读可写)

读取文件时如果文件存在,就会覆盖原有文件

读取时文件如果文件不存在,就会新建一个文件执行写操作

a+(可读可写)文件不存在,就会创建一个新文件,如果存在,光标就会移动到文件尾部。
#include<stdio.h>
#include<string.h>
int main() {
	FILE* fp = fopen("1.txt", "w");

	char *buffer = { 0 };
	fread(buffer, sizeof(char), strlen(buffer), fp);
	fwrite(buffer, sizeof(char), strlen(buffer), fp);
	fclose(fp);
	fp = NULL;
}

这就是关于文件的基本操作

fread的含义时说讲fp中的内容读给buffer

参数是fread(buffer,size,count,fp)

buffer是一个自定义的数组

size是fp中储存的大小

count是要读取或者写入的个数

fp是FILE* 型的指针变量

我们可以在c盘中中创建一个1.txt

然后用函数往里面写入

 

 如果此时d盘中有1.txt文件,那么这个函数段就可以读取1.txt的内容通过num 返回读取到的个数

如果此时d盘中没有1.txt那么就会显示读取失败

数据存储

在使用文件操作前 ,我们要提前了解关于计算机储存数据的相关知识,操作系统储存数据一般是以文件为单位对数据进行管理,在从键盘获取数据到存入内存中,中间会有一段缓冲区,在用户从磁盘中查找数据时,就会先在缓冲区查找,如果查找不到才会进入磁盘中查找

这里就涉及到了一种计算机的内存管理技术——虚拟内存

https://blog.csdn.net/iccoke/article/details/126139059?spm=1001.2014.3001.5501

虚拟内存拥有一段连续的内存空间,实际是由数据割成多个内存碎片

当我们出入数据时

 

 其中 c:/1.txt 叫做绝对路径

这里面也有用空间换取时间的便利

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值