gpt4 book ai didi

c - 如何解析结构变量

转载 作者:行者123 更新时间:2023-12-03 12:02:39 24 4
gpt4 key购买 nike

我正在尝试从用户那里获取IP地址,并确定它是A,B还是C类。我无法拆分addr结构变量来检查这些位。有人可以建议吗? :)。非常感谢。

int main(int argc, char **argv)
{

struct in_addr addr;
uint32_t temp;
char *IP;
int ret = 0;

if (argc != 2)
error(1, errno, "Too many or few arguments\n");
IP = argv[1];
ret = inet_aton(IP, &addr);
if (ret == 0)
error(1, errno, "Invalid IP- address provided\n");
printf("The address in the structure is network byte order:(Big- Endian) %X\n", addr);

}

最佳答案

struct in_addr看起来像这样:

   struct in_addr {
uint32_t s_addr; /* address in network byte order */
};

您可以使用 s_addr字段来访问地址的原始字节。将其传递给 ntohl并将结果分配给 uint32_t,然后可以对其应用位掩码以确定地址类。

关于c - 如何解析结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62064960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com