📄 crc_c.txt
字号:
#include<stdio.h>
#include<windows.h>
#define IN_FILE ".\\crc.in"
#define MAX_IN_FILE_SIZE 8192
#define MIN_IN_FILE_SIZE 1024
WORD CRC(unsigned char *info, DWORD len)
{
WORD acc;
unsigned char i;
acc=0;
while (len--) {
acc=acc^(((unsigned int)(*info))<<8);
info++;
for (i=8;i>0;i--)
if (acc&0x8000) acc=(acc<<1)^0x1021;
else acc<<=1;
}
return acc;
}
void main()
{
HANDLE hFile = INVALID_HANDLE_VALUE;
char ch_in[MAX_IN_FILE_SIZE];
DWORD dwRW;
WORD result;
hFile = CreateFile(IN_FILE, GENERIC_READ, 0,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE){
printf("LastError : %d\n", GetLastError());
exit(1);
}
if(GetFileSize(hFile, NULL) > MAX_IN_FILE_SIZE ||
GetFileSize(hFile, NULL) < MIN_IN_FILE_SIZE){
printf("FileSize > %d or FileSize < %d",
MAX_IN_FILE_SIZE, MIN_IN_FILE_SIZE);
CloseHandle(hFile);
exit(1);
}
ReadFile(hFile, ch_in, MAX_IN_FILE_SIZE, &dwRW, NULL);
CloseHandle(hFile);
result = CRC(ch_in, dwRW);
printf("The CRC code is : %x\n", result);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -