C语言-fseek函数

在这里插入图片描述

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

在这里插入图片描述

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

fseek函数

int fseek ( FILE * stream, long int offset, int origin );
  1. 重新定位流位置指示器将与流关联的位置指示器设置到新位置。
  2. 对于以二进制模式打开的流,新位置是通过向原点指定的参考位置添加偏移量来定义的。
  3. 对于以文本模式打开的流,偏移量应为零或之前调用ftell返回的值,原点必须为SEEK_SET。
  4. 如果使用这些参数的其他值调用函数,则支持取决于特定的系统和库实现(不可移植)。
  5. 成功调用此函数后,流的文件结束内部指示符将被清除,并且之前调用ungetc对此流的所有影响都将被删除。
  6. 在打开进行更新(读+写)的流上,调用fseek可以在读和写之间切换。
起始点(int origin)名字用数字代表
文件开始位置SEEK_SET0
文件当前位置SEEK_CUR1
文件末尾位置SEEK_END2

简单应用:

#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

	fseek(fp, -2, 1);		  //光标从当前位置向后移2位,光标值变为3

	printf("%d\n", ftell(fp));
	ch = fgetc(fp);			//因为调用了一次fgetc函数所以,光标值又往后移一位
	printf("%c\n", ch);
	printf("%d\n", ftell(fp));//光标值为4

	rewind(fp);				  //重置光标值

	printf("%d\n", ftell(fp));//光标值为0
	fscanf(fp, "%s", str);
	puts(str);
	fclose(fp);
	
	return 0;
}

输出结果:

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

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

尹蓝锐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值