小编A C*_*---的帖子

使用 inet_ntop() 和 inet_pton() 转换 IP 地址输入(C 编程)

我正在尝试转换用户输入的 IP 地址,以便我可以对其执行一些按位运算以及已存储在结构中的地址。然而,我的问题是,当 IP 地址转换回时,输出始终为 255.255.255.255。例如,输入 10.0.0.1 或 192.16.2.1 总是返回 255.255.255.255。

任何帮助,将不胜感激。谢谢

  {
        struct sockaddr_in sa;
        char ipinput[INET_ADDRSTRLEN];

        fputs("Enter an IP Address: ", stdout);
        fflush(stdout);
        fgets(ipinput, sizeof ipinput, stdin);
        inet_pton(AF_INET, ipinput, &(sa.sin_addr));
        inet_ntop(AF_INET, &(sa.sin_addr), ipinput, INET_ADDRSTRLEN);
        printf("IP Address = \%s\ \n", ipinput);
        }
Run Code Online (Sandbox Code Playgroud)

c sockets inet

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

c ×1

inet ×1

sockets ×1