6
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main()
{
uint32_t ip = 0;
printf("%s\n",inet_ntoa(*(struct in_addr *)ip));
return 0;
}
我不想通过声明任何临时变量来做到这一点。该程序给出了分段错误。如何将uint32_t转换为struct in_addr?
struct in_addr {
uint32_t s_addr;
};
我知道我在做一些愚蠢的事 – Bruce 2012-04-01 01:17:45
我怎么能在同一行做htonl? – Bruce 2012-04-01 01:21:17
结果是UNdefined的实现。它给出了一个警告:错误:解引用指针'ip'确实打破了严格别名规则 – jrwren 2013-11-07 19:16:15