【发布时间】:2020-05-22 18:40:37
【问题描述】:
#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 需要在第二个参数中使用网络地址结构。
【问题讨论】:
-
马克,有什么不使用
struct in_addr addr的特殊原因吗? -
@chux-ReinstateMonica,这是遗留代码,我不想做大的改动:)
-
如果它的遗留代码和一个使用相同的遗留编译器、选项、操作系统,你没问题 - 否则我怀疑你是SOL。
标签: c networking inet-ntop