Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从键盘输入数据_C - Fatal编程技术网

C 从键盘输入数据

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

在我的程序中,我这样做了,硬编码了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中。如何做到这一点?我对这部分很感兴趣

这应该可以做到:

#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个字符。此外,您在最后一行中忘记了右括号。