
gethostbyaddr 함수는 호스트 이름을 얻기 위해 사용하는 함수입니다. 이 함수는 호스트 이름을 저장하는 구조체인 hostent를 반환합니다.
hostent 구조체의 멤버 변수 중, 호스트 이름을 저장하는 부분인 h_name은 실제로 호스트 이름을 저장합니다.
h_length 멤버 변수는 호스트 이름의 길이를 저장합니다. 호스트 이름이 NULL 종료 문자를 포함한다면, 실제로 저장되는 길이는 NULL 종료 문자까지 포함된 길이가 됩니다.
예를 들어, 호스트 이름이 "example.com"이고 NULL 종료 문자가 포함되어 있다면, h_length 멤버 변수는 13을 저장합니다.
gethostbyaddr 함수를 사용할 때는, 반환된 hostent 구조체의 h_name 멤버 변수를 사용하여 호스트 이름을 얻을 수 있습니다.
또한, h_length 멤버 변수를 사용하여 호스트 이름의 길이를 얻을 수 있습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
struct hostent *host;
char hostname[256];
host = gethostbyaddr("192.168.1.1", sizeof("192.168.1.1"), AF_INET);
if (host != NULL) {
strcpy(hostname, host->h_name);
printf("호스트 이름: %sn", hostname);
printf("호스트 이름 길이: %dn", host->h_length);
} else {
printf("호스트 이름을 찾을 수 없습니다.n");
}
return 0;
}
이 예제에서는 gethostbyaddr 함수를 사용하여 호스트 이름을 얻은 후, 호스트 이름을 저장하는 h_name 멤버 변수와 호스트 이름의 길이를 저장하는 h_length 멤버 변수를 사용하여 호스트 이름을 출력합니다.
2025-03-31 01:26