C 从键盘输入数据
在我的程序中,我这样做了,硬编码了172.28.6.87的值,并存储在keys.pktfltr.ip.ip_src中,即编写了这样的函数并执行,它也工作了C 从键盘输入数据,c,C,在我的程序中,我这样做了,硬编码了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.pktfl
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中。如何做到这一点?我对这部分很感兴趣这应该可以做到:
#include <stdio.h>
char buf[32];
if (fgets(buf, sizeof buf, stdin) == buf)
inet_aton(buf, &(keys.pktfltr.ip.ip_src);
#包括
char-buf[32];
如果(fgets(buf,sizeof buf,stdin)=buf)
inet_aton(buf,&(key.pktfltr.ip.ip_src);
当然,应该添加更多的错误检查(转换调用)。IPv6地址不一定适合31个字符。此外,您在最后一行中忘记了右括号。