c语言中文件随机读写的函数

目录

fseek函数

fseek函数的作用

fseek函数的返回值和参数

ftell函数

ftell函数的作用

ftell函数的返回值和参数

rewind函数

rewind函数的作用

rewind函数的返回值和参数


以下函数的头文件都是<stdio.h>

fseek函数

fseek函数的作用

移动文件指针到指定的位置

#include<stdio.h>

int main()
{
	FILE* fp = fopen("data.txt", "r");	//打开一个文件指针,以r(可读)的方式打开data.txt这个文件,使用的是相对路径
	fseek(fp, 1, SEEK_CUR);
	if (fp != NULL)	//判断是否开辟成功
	{
		printf("%c", fgetc(fp));	//读取一个字符
		fclose(fp);	//关闭程序
	}
	return 0;
}

文件中的内容为abcde,我们向后偏移了一个字节,所以打印了b

fseek函数的返回值和参数

返回值:如果移动位置成功则返回0,否则返回一个非0数

参数:stream,类型是FILE*,想要被改变的文件指针
offset,类型是long,是想移动的字节数,想向左移动为-某个数,向右为+某个数
origin,类型是int,代表从哪个位置开始移动,有三种选择,如下

SEEK_CUR

从当前文件指着进行移动

SEEK_END

从文件末尾开始移动,只能向前移动,-某个数

SEEK_SET

从文件开始位置开始移动,只能向后移动,+某个数

ftell函数

ftell函数的作用

 获得当前文件的位置(偏移量)

#include<stdio.h>

int main()
{
	FILE* fp = fopen("data.txt", "r");	//打开一个文件指针,以w(可写入)的方式打开data.txt这个文件,使用的是相对路径
	fseek(fp, 1, SEEK_CUR);
	if (fp != NULL)	//判断是否开辟成功
	{
		printf("%d", ftell(fp));    //检测fp指针的偏移量
		fclose(fp);	//关闭程序
	}
	return 0;
}

返回了1,说明fp指针的偏移量为1 

ftell函数的返回值和参数

 

返回值:返回偏移量,出错返回-1

参数:stream,类型是FILE*,为想要被查询位置的文件指针

rewind函数

rewind函数的作用

将文件指针重新定位到文件的开头

#include<stdio.h>

int main()
{
	FILE* fp = fopen("data.txt", "r");	//打开一个文件指针,以w(可写入)的方式打开data.txt这个文件,使用的是相对路径
	fseek(fp, 1, SEEK_CUR);
	if (fp != NULL)	//判断是否开辟成功
	{
		printf("%d\n", ftell(fp));	//测试fp指针的偏移量
		rewind(fp);
		printf("%d\n", ftell(fp));	//测试fp指针的偏移量
		fclose(fp);	//关闭程序
	}
	return 0;
}

发现rewind函数果然将文件指针重新定位到文件的开头了

rewind函数的返回值和参数

 

返回值:没有返回值

参数:stream,类型是FILE*,想要将文件指针重新定位到文件开头的文件指针

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一起慢慢变强

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

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

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

打赏作者

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

抵扣说明:

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

余额充值