gpt4 book ai didi

我们可以将 unsigned char 传递给 inet_ntop()

转载 作者:行者123 更新时间:2023-11-30 16:05:58 24 4
gpt4 key购买 nike

#include <arpa/inet.h>

char buf[INET6_ADDRSTRLEN] = {};
int af = AF_INET;
unsigned char addr[4] = {0x7f, 0x0, 0x0, 0x1};

printf("Address: %s\n", inet_ntop(af, addr, buf, sizeof buf));

unsigned char 数组传递给 inet_ntop() 调用是否有效?上面的代码可以工作,但手册页说 API 需要第二个参数中的网络地址结构。

最佳答案

我看到one implementation uses unsigned long 作为struct in_addr addr 的成员之一。如果您在 unsigned long 不是 4 字节的系统上进行编译 - 我可以预见到麻烦。如果系统对 struct in_addr 的对齐要求比对 char [] 的对齐要求更严格,那么我可以再次预见到麻烦。

最后,您似乎正在寻求保证此弱代码将来不会有问题。祝你好运。

关于我们可以将 unsigned char 传递给 inet_ntop(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60099692/

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