⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 check_sum.cpp

📁 Visual C++Visual C
💻 CPP
字号:
#include<stdio.h>
#include<stdlib.h>

void main(int argc,char *argv[])
{
	FILE *fp;
	char ch;
	unsigned char chrl,chrh;
	unsigned int count=0,checksum=0,chr=0;
	unsigned long int sum=0;
	if((fp=fopen(argv[1],"r"))==NULL)
	{
		printf("\n\nFile can't be open");
		exit(1);
	}
	printf("\n\nthe type of output:data---sum\n\n");
	while(1)
	{
		if((ch=fgetc(fp))!=EOF)
		{
			count++;
			if(ch!=' ')
			{
				if(count%12==0)
					printf("\n");
				if(ch>='0'&&ch<='9')
				ch-='0';
				else
					if(ch>='a'&&ch<='f')
					ch=ch-'a'+10;
				else
					if(ch>='A'&&ch<='F')
						ch=ch-'A'+10;
					if(count%2==1)
						chrh=ch<<4;
					else
					{
						chrl=ch&0x0f;
						chr=chrh|chrl;
						if(count%4==2)
							sum+=chr<<8;
						else
							if(count%4==0)
								sum+=chr;
							printf("%x--%lx ",chr,sum);
					}
			}else
			{
				count--;}
		}
		else
		{
			break;
		}
	}
	if(sum>>16)
		checksum=~(long(sum>>16)+long(sum&0x0000ffff));
	checksum=checksum&0x0000ffff;
	printf("\n\nsum:%lx---checksum:%x",sum,checksum);
	printf("\n\nsource:arg=%d,\targv=%s\n",argc,argv[1]);
	fclose(fp);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -