Форум программистов, компьютерный форум CyberForum.ru

Про CRC32 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с изображениями http://www.cyberforum.ru/cpp/thread227442.html
Добрый день! Есть тут знающие как работать с изображениями (Масштабировать, скопировать/вставить, обрезать). А то что-то не могу ни как разобраться. Может книги какие кто знает :)
C++ Программа завершения процесса Возможно ли написать программу, чтобы завершить процесс mail.ru agenta? Да, и если возможно, из другого пк. (через сетку). Если есть такая, выложите пожалуйста, очень надо. http://www.cyberforum.ru/cpp/thread227392.html
C++ Не получается разрешить доступ к интернету
Не получается разрешить доступ к интернету через LAN другому компьютеру
Irrlicht C++
Доброго времени суток. Проблема состоит в том, что при загрузке движка Irrlicht все в порядке, а при прописывании программе через какой путь ей надо пройти, чтобы обратиться к классу, показывает, что что-то не так. Не смотря на это, программа какое-то время правильно функционирует, но не создает экзешник, спустя еще несколько дней она просто отказывается работать и предлагает попробовать...
C++ Получить индекс типа в mpl::map`е http://www.cyberforum.ru/cpp/thread226098.html
всем привет. есть mpl карта типов(key -> value). нужно получить индекс типа имея только ключ. где-то накосячил. но непойму где. #include <iostream> #include <boost/mpl/distance.hpp> #include <boost/mpl/find.hpp> #include <boost/mpl/find_if.hpp>
C++ Отвечает за стиль программы - Code Blocks или mingw? Здравствуйте! Столкнулся с такой проблемой - при компиляции программ в Code Blocks с помощью mingw стиль получается как у классического Windows (к примеру, некрасивые кнопки и меню) в любом случае. Где только не искал - не могу найти как изменить на обычные. <==Классичный стиль <==обычный. Кто сталкивался прошу ответить. Спасибо! Прикрепляйте картинки к сообщениям. подробнее

Показать сообщение отдельно
Persk
Модератор
Эксперт Windows
7313 / 3150 / 191
Регистрация: 25.10.2010
Сообщений: 12,658
18.01.2011, 01:12  [ТС]     Про CRC32
Прога откорректирована
Канает в Builder C++6 на все 100%, в MVisual выдает ошибку, ну а в Borland 3.1. компильните, увидите сами, хотя в Borland 3.1. вроде бы все .exe 16-бит(CRC16) или я ошибаюсь?!
Пример расчёта Crc32 в Builder C++6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*Программа расчёта Crc32 для файлов.txt*/
#include <stdio.h>//необходимо для printf
#include <conio.h>//необходимо для getch
#include <string.h>//необходимо для strlen
#define FNAME "text.txt"//макрос(метка)
/*Описываем функцию расчёта Crc32
с применением полинома EDB88320UL=
x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11
+ x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
*/
unsigned long Crc32(unsigned char *buf, unsigned long len)
{
unsigned long crc_table[256];
unsigned long crc;
for (int i = 0; i < 256; i++)
{
crc = i;
for (int j = 0; j < 8; j++)
crc = crc & 1 ? (crc >> 1) ^ 0xEDB88320UL : crc >> 1;
crc_table[i] = crc;
};
crc = 0xFFFFFFFFUL;
while (len--)
crc = crc_table[(crc ^ *buf++) & 0xFF] ^ (crc >> 8);
return crc ^ 0xFFFFFFFFUL; //конец функции
};
 
//открываем файл для обработки
int main()
{
char buf[4096];
int len;
unsigned long Crc32(unsigned char *buf, unsigned long len);
FILE *f = fopen("text.txt", "rt");//Открыли файл для чтения
if ((f = fopen("text.txt", "rt"))==NULL)//Если файл невозможно открыть,
{
printf ("Error = Nevozmozchno otcrjt' fail");//то выдаём сообщение
getch();
return 0;//и выходим из программы
}
fgets(buf, sizeof(buf), f);
len = strlen(buf);
 
//Вывод Crc32
printf("CRC-32 = %p\n", Crc32(buf,len));//Тут MVisual выдает ошибку
fclose(f);//Файл закрыли
getch();  //задержка программы
return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru