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