![]() |
Занимался проверкой файлов и возник вопрос как бы сделать это быстрее?
Код: [CODE] bool CheckSum(string newfile, int newfilesize, int newchecksum) { int flenght = newfilesize; //4696403; //FSIZE int sum = newchecksum; //858273431; //CSUM FILE* f; if (!(f = fopen(newfile.c_str(), "rb"))) { return false; } byte b; unsigned int Csum = 0; unsigned int Fsize = 0; while (fread(&b, sizeof(byte), 1, f)) { Fsize++; Csum += b; } fclose(f); //DEBUG: для генерации (CSUM) и размера файла (FSIZE) убрать комменты /*ofstream myfile("CheckFiles_"+ newfile +".txt"); if (myfile.is_open()) { myfile |
Только размер файлов? Может лучше md5/crc32 сверять? Не быстро, но будет надежнее
|
Цитата:
Но то что выше работает очень долго по такому алгоритму. Возможно есть вариант проще с проверкой не только по размеру, но и по crc или md5 и быстрее чем сейчас? |
А зачем простите сверять размер файла если есть сверка CRC ?
Если у исходного файла отличается хоть 1 байт, контрольная сумма измениться, не говоря о размере. |
Цитата:
Вся проблема именно в том что проверяет много файлов долго если есть большие. |
конечно CRC, его на все ваши запросы с головой. Все остальное это мусор.
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
| Время: 15:43 |