校验和
来源:互联网 发布:淘宝贷款利息如何计算 编辑:程序博客网 时间:2024/04/28 06:47
- #include <stdio.h>
- int main(int argc,char * argv[])
- {
- unsigned int ch1,ch2,temp;
- unsigned int sum=0;
- FILE *fp;
- if (argc!=2)
- {
- printf("check command!/n");
- return 0;
- }
- fp=fopen(*++argv,"r");
- if(!fp)
- {
- printf("cannot open this file/n");
- return 0;
- }
- ch1=fgetc(fp);
- while(ch1!=EOF)
- {
- ch1=ch1<<8;
- ch2=fgetc(fp);
- if (ch2!=EOF)
- {
- temp=ch1|ch2;
- sum+=temp;
- }
- else
- {
- sum+=ch1;
- break;
- }
- ch1=fgetc(fp);
- }
- ch1=sum >> 16;
- ch2=sum & 0x00ffff;
- sum=ch1+ch2;
- printf("%x/n",sum);
- return 1;
- }