UNIX の C プログラムでは、gethostbyname() を使用して、「localhost」のようなドメインのアドレスを取得できます。gethostbyname() の結果をドット付き 10 進数表記に変換するにはどうすればよいですか。
struct hostent* pHostInfo;
long nHostAddress;
/* get IP address from name */
pHostInfo=gethostbyname("localhost");
if(!pHostInfo){
printf("Could not resolve host name\n");
return 0;
}
/* copy address into long */
memset(&nHostAddress, 0, sizeof(nHostAddress));
memcpy(&nHostAddress,pHostInfo->h_addr,pHostInfo->h_length);
nHostAddress には次のものが含まれます。
16777243
出力を次のように取得できるように結果を変換するにはどうすればよいですか。
127.0.0.1