struct sniff_ip {
struct in_addr ip_src, ip_dst;
}
function{
const struct sniff_ip *ip;
ip = (struct sniff_ip*)(packet +SIZE_ETHERNET);
}
我的目标是改变ip_src和ip_dst的价值,但我不能找出正确的语法修改SRC或DST当它在一个struct在一个结构中。我知道访问结构中的成员通常是ip-> member或(* ip).member,但这似乎不适合我。访问成员的正确过程是什么,如果它们在struct中的结构中?如何访问成员在结构结构 - Visual C
编辑:我想改变src和dst的IP地址(值)。当使用线,如
“IP-> ip_src =”
或 “IP-> ip_src.s_addr =”,我得到的错误 “只读位置 '* IP'
你声明了'const struct',所以它不允许你做任务。如果你想分配它,不要将你的结构声明为'contst'或者做'struct sniff_ip * const ip'。 – 2012-02-16 18:56:07
所以我可以改变IP,但不是IP内的成员? – krikara 2012-02-16 19:09:27
我可以去尝试写出一个解释,但是看看这篇文章可能会更好(http://www.codeguru.com/cpp/cpp/cpp_mfc/general/article.php/c6967)代替。 – 2012-02-16 19:13:40