讲了个知识点5:文件读写

一、为什么使用文件

当我们使用编程语言创建一些内容的时候,就比如我们用printf、scanf输出和输入的东西都是在内存上的,无法保存下来,而我们使用文件就可以将我们创建的一些东西保存下来,保存在我们的硬盘上。这样我们就可以重复使用,还可以更改。

讲文件的读写之前我们先来介绍几个函数的使用方法

1.fopen

在这里插入图片描述
这样我们就基本了解了fopen函数的结构。
文件打开的方式有以下方式:
在这里插入图片描述

2.fclose

在这里插入图片描述
fclose没什么好说的,就是把文件关闭,因为我们在程序里面,不能无限打开文件,所以我们使用完打开的文件之后,要记得关闭文件,并记得把文件的指针置为空指针。
它的返回值是整型,如果返回0,就是文件正常关闭了。


二、文件的读写(字符)

1.输出fputc

fputc包含putchar的功能
这个就是我们fputc的基本结构

在这里插入图片描述
此外,fputc不止适用于对文件的操作,还可以对我们的标准输出流也就是屏幕进行操作。

int main()
{
	FILE* ps = fopen("C:\\Users\\zzy\\source\\repos\\Project16\\test.txt", "w");
	if (ps == NULL)
	{
		printf("%s\n", strerror(errno));
		return 1;//失败返回
	}
	//打开成功,写文件
	fputc('a', ps);

	//关文件
	fclose(ps);
	ps = NULL;
	
	return 0;
}

这个就是我们的效果图:
在这里插入图片描述
这样子也可以:
在这里插入图片描述
下面我们来对屏幕(标准输出流)进行操作:
在这里插入图片描述
注意:fputc适用于所有输出流。

2.输入fgetc

fgetc包含getchar的功能
这个就是fgetc的基本格式:

在这里插入图片描述
这是我们目前文件里的内容:
在这里插入图片描述
那我们用循环读取
在这里插入图片描述
我们还可以用fgetc在键盘上(标准输入流)读取:

int main()
{
	int ch = fgetc(stdin);
	printf("%c\n", ch);
	return 0;
}

在这里插入图片描述

三、文件的读写(文本行)

1.输出fputs

在这里插入图片描述

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<errno.h>
#include<string.h>
int main()
{
	FILE*ps = fopen("C:\\Users\\zzy\\source\\repos\\Project16\\test.txt", "w");
	if (ps == NULL)
	{
		printf("%s\n", strerror(errno));
		return 1;
	}
	fputs("god,you are so beautiful!", ps);

	fclose(ps);
	ps = NULL;
}

在这里插入图片描述

2.输入fgets

在这里插入图片描述
在这里插入图片描述
除此之外,我们还可以从标准输入流来接收
在这里插入图片描述

四、文件的读写(格式化)

1.输出fprintf

在这里插入图片描述
我们记得printf是将我们输入的东西打印在屏幕上,那我们这个加一个文件的话,就是把内容打印在文件里面。
在这里插入图片描述

2.输入fscanf

在这里插入图片描述
在这里插入图片描述
从键盘上读取
在这里插入图片描述

五、文件的读写(字符串)

1.输出sprintf

sprintf可以将一些结构化字符转换成字符串。

在这里插入图片描述
使用展示:
在这里插入图片描述

2输入sscanf

在这里插入图片描述
在这里插入图片描述

六、文件的读写(二进制)

1.输入fwrite

在这里插入图片描述
在这里插入图片描述

2.输出fread

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值