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

Обращение в неправильный участок памяти, используя структуры и pcap.h - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вопрос по строкам http://www.cyberforum.ru/cpp-beginners/thread245091.html
как я могу проверить Эдит на наличие запятой ? if (Edit1->Text ==",") ....... подскажите, пожалуйста. Добавлено через 15 минут
C++ Не получается вставить символ здравствуйте. Программа у меня складывает 2 денежные суммы выраженные в фунтах, шиллингах и пенсах и выводит результат. Но перед вводимым и выводимым числом(результатом) должен стоять £, а между фунтом шиллингом и пенсом должна стоять точка. Результат должен быть такой: Введите первую сумму: £5.10.6 Введите вторую сумму: £3.2.6 Всего: £8.13.0 А у меня получается что когда вводишь эти суммы... http://www.cyberforum.ru/cpp-beginners/thread245072.html
C++ Присвоить переменной char m значиние переменной int i..
Как присвоить переменной char m значиние переменной int i таким образом ? int main() { char m; int i = 5; m = i; # ( что бы было как m = '5' , а не m = 5 ) cout << m ; # ( что бы вывело число 5 ) }
Исправление ошибки в коде C++
Всем доброе утро!!!Вот тут задачка запускается , вроде все по примеру делал ,все равно не хочет работать((. Вот сама задачка: # include <iostream.h> # include <math.h> void main () { double x,y,a; const bouble Pi=3,14; cin x>>a; if (x=>3,14) y=Pi*cos(a*x) else
C++ Cчитать текст из файла и вывести на экран только цитаты http://www.cyberforum.ru/cpp-beginners/thread245047.html
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.
C++ имена файлов Скажите, пожалуйста, в именах файлах ведь нельзя каким-то образом использовать нулевой символ в ASCII '\0' ? подробнее

Показать сообщение отдельно
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724

Обращение в неправильный участок памяти, используя структуры и pcap.h - C++

20.02.2011, 10:24. Просмотров 658. Ответов 2
Метки (Все метки)

Суть в чем: Есть программка, которая использует libpcap. При получении нового пакета функцией:
C++
1
2
3
4
5
pcap_t *adhandle;
struct pcap_pkthdr header;
const u_char *packet;
...
packet = pcap_next(adhandle,&header);
и дальнейшем снятии данных с пакета путем:
C++
1
2
3
4
5
6
7
typedef struct MAC_address{u_char byte1;u_char byte2;u_char byte3;u_char byte4;u_char byte5;u_char byte6;}MAC_address;
typedef struct eth_header_src{MAC_address smac;}eth_header_src;
...
eth_header_src * ethhSrc;
...
ethhSrc = (eth_header_src*)(packet+6);
cout << ethhSrc->smac.byte1;
Так вот, про прошествии n-го количества пакетов(совершенно рандомное количество) вылетает segmentation fault(core dumped) - т.е обращение в левый участок памяти...
Вопрос - ПОЧЕМУ ??? Ответ сам не нашел, поэтому пишу сюда. Помогите советом, кто сможет!

Upd1: segmentation fault только тогда, когда идет обращение к элементам smac.
т.е cout << ethhSrc->smac проходит. cout << ethhSrc->smac.byte1 уже нет.
И соответственно все операции, необходимые мне, я не могу провести с этими данными...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru