文件指针偏移的相关函数(rewind ftell fseek)

文件指针偏移的相关函数(rewind ftell fseek)

#include "stdafx.h"


#if  0

----rewind

void rewind ( FILE * stream );

函数功能:将文件指针重新指向一个流的开头。

如果一个文件具有读写属性,当我们写完文件,需要读的时候,
此时会遇到文件结尾现象。此时就需要 rewind


----ftell

long ftell ( FILE * stream );

函数功能:得到流式文件的当前读写位置, 其返回值是当前读写
位置偏离文件头部的字节数

返回值:成功,返回当前读写位置偏离文件头部的字节数。 
失败,返回 - 1


----fseek

int fseek ( FILE * stream, long offset, int origin );

stream:文件句柄
offset:偏移量
origin:偏移起始位置

函数功能:偏移文件指针。

返回值:成功返回 0,失败返回-1

常见的起始位置有宏定义:
#define SEEK_CUR 1 当前位置
#define SEEK_END 2 文件结尾
#define SEEK_SET 0 文件开头

fseek(fp,100L,0); 把 fp 指针移动到离文件开头 100 字节处;
fseek(fp, 100L, 1); 把 fp 指针移动到离文件当前位置 100 字节处;
fseek(fp, 100L, 2); 把 fp 指针退回到离文件结尾 100 字节处。

#endif


int _tmain(int argc, _TCHAR* argv[])
{
	FILE * fp = fopen("data.txt", "w+");

	char ch;
	for (ch = 'a'; ch <= 'z'; ch++)
	{
		fputc(ch,fp);
	}

	//rewind(fp);
	
	fseek(fp, 0, SEEK_SET);

	int len = ftell(fp); //返回当前位置偏离头部的字节数
	printf("len=%d\n", len);

	fclose(fp);

	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值