0
struct hostent *hostName;
struct in_addr ipv4addr;
inet_pton(AF_INET, inet_ntoa(client.sin_addr), &ipv4addr);
hostName = gethostbyaddr(&ipv4addr, sizeof(ipv4addr), AF_INET);
printf("Host name: %s\n", hostName->h_name);
它在最後一行發生段錯誤。我查了一下正確使用hostent,msdn文檔顯示它正在被使用。什麼會導致段錯誤?這個hostent爲什麼會導致段錯誤?
也許gethostbyaddre resturns NULL和解除引用NULL會導致段錯誤;或者hostName-> h_name爲NULL,然後printf()爲NULL segfaults。 – 2012-04-25 20:43:52