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;
}
Nie chcę tego robić, deklarując dowolną zmienną tymczasową. Ten program daje błąd segmentacji.Jak przekonwertować uint32_t na struct in_addr?
struct in_addr {
uint32_t s_addr;
};
Wiedziałem, że robię coś głupiego – Bruce
Jak mogę zrobić htonl w tej samej linii? – Bruce
Wynikiem jest implementacja nieokreślona. Daje ostrzeżenie: błąd: wskaźnik deinterferencji 'ip' łamie zasady ścisłego wygładzania – jrwren