您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

文件--初识

文章目录

  • 前言
  • 一、文件的分类
  • 二、有关文件的一些函数
    • 1.文件的打开和关闭
    • 2.数据的输入
    • 3.数据的输出
    • 4.二进制文件
  • 三、文件结束的判断


前言

什么时候要使用文件?:
当我们需要把数据持久化的时候,需要使用文件。一般持久化数据的方法有:把数据存放在磁盘文件上,把数据存放到数据库等。
使用文件我们可以直接将数据存放在电脑的硬盘上,做到数据的持久化。

一、文件的分类

在程序设计中文件的分类:
在这里插入图片描述
数据的组织形式上文件的分类:
在这里插入图片描述

二、有关文件的一些函数

打开文件:fopen
关闭文件:fclose
文件的不同打开方式对应的不同
在这里插入图片描述

1.文件的打开和关闭

代码如下(示例):

int main() {
	//打开文件

	FILE* pf;
	//创建一个FILE* 的文件指针
	pf = fopen("class1.txt", "w");
	//使用fopen函数来打开文件
	//"class1.txt"表示文件名   
	//由于我们刚才没有创建文件 所以使用"w"的方式直接创建一个文件在打开

	//关闭文件
	fclose(pf);
	//fclose函数传参传入要关闭的文件指针pf
	pf = NULL;
	//记得将关闭的文件指针置空
	return 0;
}

代码跑起来后,就能在相对应的路径下找到我们创建的文件class1.txt
在这里插入图片描述

2.数据的输入

在这里插入图片描述
1.单个字符的输入

代码如下(示例):

//写文件
//单个字符的写入
	fputc('w', pf);
//单引号内的字符表示我们要进行写入的内容  后边的pf表示要给pf中进行写入

当程序运行后,我们就能发现刚才的文件大小变成了1KB,打开文件后,就能看到我们写入的内容。
在这里插入图片描述
2.一串字符的输入

//写文件
	fputs("wang", pf);
//fputs可一次输入一行内容
//注意此时文件的打开方式应该是'w'
//要输入的一行内容应该使用双引号

在这里插入图片描述
程序运行后,我们就在文件中能看到书写的内容wang

3.数据的输出

1.单个字符的输出

	//读文件
	int ret = fgetc(pf);
	printf("%c\n", ret);
	//注意这里是读文件 因此要将上边的文件打开方式改为"w"

代码运行起来后,就可以看到我们读取的字符“w"被打印在屏幕上。
在这里插入图片描述
2.一串字符的输出

char ret[10] = "";
fgets(ret, 3, pf);
printf("%s\n", ret);
//注意这里是读文件 文件打开方式应为r
//fgets函数需要三个参数 
//第一个参数表示读取了内容之后放入哪里
//第二个参数表示读取n-1个字符
//第三个参数表示从哪里读取

程序跑起来后我们就能看到读取的n-1个字符被打印在屏幕上。
在这里插入图片描述

4.二进制文件

1.二进制文件的读取

	fread(&pf, sizeof(char), 1, pf);
	printf("%c\n", pf);
	//fread函数使用时需要四个参数
	//第一个&fp代表存储读出数据的地址
	//第二个sizeof(char)代表要读出内容的单位字节数
	//第三个数字1代表要读出sizeof字节的个数
	//第四个读出数据的地址

在这里插入图片描述
这里我们读取了1个size为char的数据,所以打印出来就是存储在class1.txt中的第一个字符。

三、文件结束的判断

1.EOF函数
EOF函数应该用来判断文件读取结束的时候,是遇到文件尾而结束还是读取错误而结束。
2.文本文件的读取结束
文本文件的读取是否结束,应用fgetc函数判断返回值是否为EOF或用fgets函数来判断返回值是否为NULL;
3.二进制文件的读取结束
二进制文件的读取是否结束,应使用fread函数判断返回值是否小于应读取的个数。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进