crc_c.txt
来自「CRC的c语言实现」· 文本 代码 · 共 45 行
TXT
45 行
#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 + =
减小字号Ctrl + -
显示快捷键?