读取二进制文件

#define BIN_FILENAME	"release.bin" //bin文件

FILE  *pf_bin = NULL;
do
{
	//以只读方式(r)读取二进制文件(b)
	pf_bin = fopen(BIN_FILENAME, "rb");
	if (NULL == pf_bin)
	{
		printf("Failed to open file!");
		break;
	}
	
	//定位到文件结尾处
	fseek(pf_bin , 0, SEEK_END);
	//返回当前位置(由于定位到文件结尾处,所以返回的也是文件大小)
	long filesize = ftell(pf_bin);
	//将读写位置指针重置到文件开头
	rewind(pf_bin);
	
	//分配内存
	void* bin_buf = (char *)malloc(filesize);
	if (NULL == bin_buf)
	{
		printf("Failed to allocate memory!");
		break;
	}
	
	//读取文件
	long read_cnt = (unsigned int)fread(model_buf, 1, filesize, pf_bin);
	if (read_cnt != filesize)
	{
		printf("The read size doesn't match with filesize!!");
		break;
	}
		
	//关闭文件
	fclose(pf_bin);
	pf_bin= NULL;
}while(0);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值