
gethostbynamel 함수는 주소록을 읽어 이름을 가져오는 함수입니다.
해당 함수는 주소록이 존재하는지 여부에 관계없이 호출할 수 있습니다.
만약 주소록이 없을 때는, 함수는 NULL을 반환하고 errno를 set_hostent(0) 에러로 설정합니다.
gethostbynamel 함수는 주소록을 읽어 이름을 가져오기 때문에, 주소록이 존재하지 않더라도 함수를 호출할 수 있습니다.
하지만 주소록이 존재하지 않으면, 함수는 NULL을 반환합니다.
따라서, 주소록이 존재하지 않을 때는, 함수를 호출하기 전에 주소록이 존재하는지 확인하는 코드를 추가해야 합니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
struct hostent *he;
// 주소록이 존재하는지 확인
if (gethostbyname(NULL) == NULL) {
// 주소록이 존재하지 않습니다.
printf("주소록이 존재하지 않습니다.n");
return 1;
}
// 주소록이 존재하므로, gethostbynamel 함수를 호출합니다.
he = gethostbynamel("example.com", NULL);
if (he == NULL) {
// 주소록이 존재하지 않습니다.
printf("주소록이 존재하지 않습니다.n");
return 1;
}
// 주소록이 존재하므로, 이름을 가져옵니다.
printf("이름: %sn", he->h_name);
printf("주소: %sn", he->h_addr);
return 0;
}
2025-07-01 12:00