Linux下对某二进制文件进行累加

本文介绍了一个简单的C语言程序,该程序用于打开一个名为test.bin的二进制文件,读取其全部内容,并计算所有读取到的字节的累加和。程序首先尝试打开文件,在成功后获取文件长度,并将文件内容读入内存缓冲区中。随后程序遍历这些数据并计算它们的总和,最后输出这个总和作为校验值。
#include <stdio.h>  


#define FILENAME "test.bin"

int main(void)
{
	int tTempFile;
	long filelen,ret;
	unsigned char *str;
	unsigned char tt;
	int i;
	if((tTempFile=open(FILENAME,O_RDONLY))<0 )
	{
		printf("Open File %s Failed ! \n",FILENAME);
		return -1;
	}
	filelen=lseek(tTempFile,0,SEEK_END);
	lseek(tTempFile,0,SEEK_SET);
	str=(unsigned char *)malloc(filelen);
	ret=read(tTempFile,str,filelen);
	close(tTempFile);

	if(ret != filelen)
	{
		printf("Read Error , Length is Diff ... \n");
		return -2;
	}

	tt=0;
	for(i=0;i<filelen;++i)
	{
		tt+=str[i];
	}

	printf("tt == %x \n",tt);
	return 0;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值