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

📄 crc_c.txt

📁 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 + -