crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

niXman
  опции профиля:
сообщение 25.6.2008, 1:01
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 169
Регистрация: 18.6.2008
Пользователь №: 204

Спасибо сказали: 1 раз(а)




Репутация:   0  


Кто нибудь использовал се чудо?
У меня результат не сходится со стандартными утилитами.
Вот код:
        U32 crc = 0;
        const U32 DEFAULT_BUFFER_SIZE = 1024*32;
    boost::crc_32_type CRC32;
    
    char* buf = new char[DEFAULT_BUFFER_SIZE+1];
    
    QFile file( "any.bin" );
    Q_ASSERT( file.open(QIODevice::ReadOnly) );
    while ( !file.atEnd() ) {
        rd = file.read(buf, DEFAULT_BUFFER_SIZE );
        CRC32.process_bytes( buf, rd );
        
    }
    delete buf;
    
    crc = CRC32.checksum();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrew Selivanov
  опции профиля:
сообщение 25.6.2008, 14:57
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Ну для начала сделай одинаковые условия тестирования
1) проверь, что файл открывается один и тот же
2) проверь режим в котором открывается файл (binary)
3) размер тестового буфера должен быть одинаковым
4) пиши буфер в два файла, сравни их в конце

Пилите Шура, пилите ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 17.7.2025, 19:17