【问题标题】:fetch value of ipaddress获取ipaddress的值
【发布时间】:2011-02-03 08:17:56
【问题描述】:

我想在变量中获取 mycomputer 的 ipaddress 此语句打印我的计算机的 ipaddress 但我想将它分配在一个变量中 我如何从inet_ntoa(inaddrr(ifr_addr.sa_data)) 获取ipaddress 的值到char* 类型的变量ip 中。

printf("IP Address: %s\n", inet_ntoa(inaddrr(ifr_addr.sa_data)));

【问题讨论】:

标签: c linux


【解决方案1】:

inet_ntoa 已经返回一个char * - 只是它指向一个静态缓冲区,该缓冲区将在后续调用中被覆盖。如果你想保存那个指向的字符串,你可以使用strdup()

char *ip;
/* ... */
ip = strdup(inet_ntoa(inaddrr(ifr_addr.sa_data)));

完成后,您应该在ip 上致电free()

【讨论】:

    猜你喜欢
    • 2011-10-17
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多