在我的程序中我已经这样做了,硬编码了值172.28.6.87并存储在keys.pktfltr.ip.ip_src中,即写了这样的函数并执行了它也工作了
inet_aton ("172.28.6.87", &(keys.pktfltr.ip.ip_src));
inet_aton函数是
int inet_aton(const char *cp, struct in_addr *inp);
但现在用户将决定他想要的IP地址并输入它,但输入的IP地址应存储在keys.pktfltr.ip.ip_src中。这该怎么做?我被困在这一部分
答案 0 :(得分:0)
这应该这样做:
#include <stdio.h>
char buf[32];
if (fgets(buf, sizeof buf, stdin) == buf)
inet_aton(buf, &(keys.pktfltr.ip.ip_src);
当然应该添加更多错误检查(转换调用)。