Я программист Java и пытаюсь изучить C++. У меня есть работающая функция CRC32, но она берет символы из массива и вычисляет CRC32.Прочтите файл для CRC32
Я хочу прочитать файл и вычислить файл CRC32.
Должен ли я прочитать файл, разбить его и поместить все данные в массив или есть ли какие-либо простые способы?
unsigned int crc32(unsigned char *message) {
int i, j;
unsigned int byte, crc;
i = 0;
crc = 0xFFFFFFFF;
while (message[i] != 0) {
byte = message[i]; // Get next byte.
crc = crc^byte;
for(j = 7; j>=0; j--){
crc = (crc >> 1)^(crc & 1 ? 0xEDB88320 : 0);
}
i = i + 1;
}
return ~crc;
}
int main()
{
unsigned char a[] = {'e',0};
cout << std::hex <<"0x" << crc32(a);
return 0;
}