C语言-rewind函数

在这里插入图片描述

 🌏个人博客:尹蓝锐的博客

在这里插入图片描述

希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~

1、rewind官方解释:

void rewind ( FILE * stream );

Set position of stream to the beginning

Sets the position indicator associated with stream to the beginning of the file.

The end-of-file and error internal indicators associated to the stream are cleared after a successful call to this function, and all effects from previous calls to ungetc on this stream are dropped.

On streams open for update (read+write), a call to rewind allows to switch between reading and writing.

1.将流的位置设置为开头将与流关联的位置指示器设置为文件的开头。
2.成功调用此函数后,与流相关的文件结束和错误内部指示符将被清除,并且之前调用ungetc对此流的所有影响都将被丢弃。
3.在打开进行更新(读+写)的流中,通过调用倒带可以在读和写之间切换。

注意:此函数无返回值

2、举例:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	FILE* fp;
	char str[10];
	char ch = 0;
	int n;
	fp = fopen("myfile.txt", "w");
	printf("%d\n", ftell(fp));//光标值为0
	fputs("abc", fp);
	printf("%d\n", ftell(fp));//光标值为3
	fclose(fp);

	fp = fopen("myfile.txt", "a+");
	fprintf(fp, "%d", 28);
	printf("%d\n", ftell(fp));//光标值为5
	ch = fgetc(fp);			//因为此时光标值为5所以fgetc向后取不到任何值,所以打印ch无输出,并且调用了fgetc函数光标值又往后移一位
	printf("%c", ch);
	printf("%d\n", ftell(fp));//光标值为6
	rewind(fp);				  //重置光标值
	printf("%d\n", ftell(fp));//光标值为0
	fscanf(fp, "%s", str);
	puts(str);
	fclose(fp);
	return 0;
}

3、输出:

0
3
5
6
0
abc28

4、rewind函数的优点:

可以不用重新打开文件就可使文件读写指针指向文件开始位置

  如果我的博客能给您带来启发,请不吝点赞、评论和收藏,也欢迎您关注我的博客。

  如果你喜欢这篇文章,别忘了留下你的感想和建议,让我知道你的想法。同时,也请继续关注我的博客,我们不见不散!

  最后,愿每一位读到这里的你,都能拥有一个充实而美好的每一天。不管世界怎样变化,保持学习,保持热爱,保持对生活的好奇心,我们的故事,还在继续……

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹蓝锐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值