输出文件的字节数(fseek,ftell)

#include <stdio.h> 

long filesize(FILE *stream); 
int main(void) 
{ 
	FILE *stream; 
	stream = fopen("MYFILE.TXT", "w+"); 
	fprintf(stream, "This is a test"); 
	/****************************************************************
	//	fprintf的用法:
	//	int fprintf( FILE *stream, const char *format, ... );
	//	fprintf()函数根据指定的格式发送信息(参数)到由stream(流)指定的文件. 
	//	fprintf()的返回值是输出的字符数,发生错误时返回一个负值.
	//****************************************************************/

	//内存中储存为 54 68 69 73 20 69 73 20 61 20 74 65 73 74(16进制)
	//分别对应为   T  h   i  s    i  s     a     t  e  s  t
	//共14个字节
	printf("Filesize of MYFILE.TXT is %ld bytes\n", filesize(stream)); 
	fclose(stream); 

	return 0; 
} 
long filesize(FILE *stream) 
{ 
	long length;
	fseek(stream, 0L, SEEK_END);
	/******************************************************************
	//	fseek的用法:
	//	int fseek(FILE *stream, long offset, int fromwhere);
	//	第一个参数stream为文件指针 
	//	第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移 
	//	第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET 
	//		SEEK_SET: 文件开头 
	//		SEEK_CUR: 当前位置 
	//		SEEK_END: 文件结尾
	//	其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2. 
	// 简言之: 
	//    fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处; 
	//	 	fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处; 
	//		fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。
	//*******************************************************************/
	length = ftell(stream);
	/********************************************************************
	//	ftell的用法:
	//	long ftell(FILE *stream);
	//	函数 ftell() 用于得到文件位置指针当前位置相对于文件首的偏移字节数。
	//	在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。
	//	调用函数ftell()就能非常容易地确定文件的当前位置。
	//********************************************************************/

	return length; 
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值