- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在声明以下变量
unsigned long dstAddr;
unsigned long gateWay;
unsigned long mask;
这些变量包含网络字节顺序的 IP 地址。因此,当我尝试使用 inet_ntoa 函数为掩码变量打印点符号时,有时它会打印奇怪的值。下面的代码在一个 while 循环中......循环了 n 次。
printf("%s\t%s\t%s\t",inet_ntoa(dstAddr),inet_ntoa(gateWay),inet_ntoa(mask));
192.168.122.0 0.0.0.0 0.255.255.255
但应该是
192.168.122.0 0.0.0.0 255.255.255.0
我打印了变量的十六进制值,它显示..
007aa8c0 00000000 ffffff00
这是因为 inet_ntoa 吗??
实际上,我试图通过 NETLINKS 从内核中的 254 路由表中获取声明变量的值。我想我仍然应该使用 inet_ntoa 函数将值转换为点符号.. ??
最佳答案
唯一有意义的是,您关于所有地址都按网络字节顺序排列的假设是不正确的。
关于c - inet_ntoa 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2513550/
这个问题已经有答案了: Weird printf behaviour with inet_ntoa (2 个回答) 已关闭 5 年前。 让我很困惑,这个例子有不同的结果。是不是我哪里出了问题。 #in
有人知道 MySql INET_NTOA() 如何将整数值转换回 IP 地址格式吗?我想知道内部如何进行计算以将IP转换为其原始互联网标准点分十进制格式。 最佳答案 它使用网络将一个整数分解为四个字节
我在数据库中有一个表 (sessions),其第一列包含数字 IP 地址,例如: _____________ | srcIP | ------------- | 167973143 | | 1
inet_ntoa() 函数导致以下代码中的 Segmentation fault 错误。请告诉我,为什么。我该如何解决?非常感谢! void ClientAdd ( int clientSocket
我在/usr/include/arpa/inet.h 中看到下面这行: extern char *inet_ntoa (struct in_addr __in) __THROW; 但是它真正定义在哪里
我正在声明以下变量 unsigned long dstAddr; unsigned long gateWay; unsigned long mask; 这些变量包含网络字节顺序的 IP 地
#include #include /* for strncpy */ #include #include #include #include
尝试为数据包嗅探器编写处理程序。我在转换和 inet_ntoa() 方面遇到问题。代码如下: uint32_t *iphdr_srcaddr = malloc(sizeof(uint32_t)); i
我正在尝试使用 inet_ntoa 函数写入以下代码: printf("Got connection from: %s:%d\n", inet_ntoa(cli_addr.sin_addr.s_add
我使用函数 char* inet_ntoa(struct in_addr in), 编写了一个服务器当我包含标题时 和 ,可以生成带有编译器警告的可执行二进制文件,但是当程序处理来自 inet_nt
浏览 GNU C 库的源代码,我发现 inet_ntoa 是用 static __thread char buffer[18] 我的问题是,既然需要使用可重入的inet_ntoa,为什么GNU C库的
考虑以下程序: #include #include #include #include #include #include void printhost(cha
我应该是瞎了,因为我在 ubuntu 和 debian 的发行版中找不到这些命令,也没有包含它们的包。 我应该自己用 C 编写代码和编译它们(或者用 perl 或其他任何语言编写或查找此代码)还是它(
我正在理解 gethostbyname() 函数。当时我找到了下面的示例程序。 #include #include #include #include #include #include
好的,在发布这个问题之前,我已经检查了这里的线程 in_addr_t to string 我的问题不一样。 我知道 inet_ntoa 函数属于以下类型 char * inet_ntoa (struc
// char ip1[] = "127.0.0.1"; char ip2[] = "211.100.21.179"; printf("ip1: %s\nip2: %s\n", ip1, ip2);
#include #include #include #include #include int main(int argc, char **argv) { struct socka
我遇到了 inet_ntoa 导致 OSX 上的段错误的问题,这不会发生在 Linux 上。 我的测试代码如下。 // sample.c #include #include #include #
我查看了 inet_ntoa 的实现喜欢 this和 this , 我想知道为什么他们都分配了一个 18 个字符的缓冲区。 如果我取最大长度的 IPv4 地址字符串:255.255.255.255我需
当我在没有 arpa/inet.h 包含的情况下使用 inet_ntoa 时,编译器为什么不报告错误? 我运行了这段代码: struct sockaddr_in dest; printf("%d\n"
我是一名优秀的程序员,十分优秀!