printf(" Src Address\n");
for(i = 0;i < 4;i++)
printf(" %d ",((ip->ip_src.s_addr)&(0x0FF<<(i*8)))>>(i*8));
это показывает о/р, как 127.0.0.0, как я использую обратную петлю, но когда я сделать то же 2 дисплея сетевой адрес, используя тот жеотображения на консоли
for(i = 0;i <6; i++)
printf("dest ether:%c",((ethernet->ether_dhost)&(0x0FF<<(i*8)))>>(i*8));
ошибка я получаю сообщение об ошибке: недействительные операнды до двоичных данных &
здесь u_char ether_dhost [6]; и переменная, хранящая ip-адрес, имеет тип unsigned long int ... как отображать адрес ethernet.
Это `+! I` трюк - очень * умный. – caf 2010-11-25 07:57:18