c写一个指定的域名解析成IP地址
时间: 2024-03-10 13:46:55 浏览: 26
以下是一个简单的用C语言编写的将指定的域名解析为IP地址的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <netdb.h>
#include <arpa/inet.h>
int main(int argc, char *argv[]) {
char *domain_name = argv[1];
struct hostent *he;
struct in_addr **addr_list;
int i;
if (argc != 2) {
printf("Usage: %s <domain_name>\n", argv[0]);
exit(1);
}
if ((he = gethostbyname(domain_name)) == NULL) {
herror("gethostbyname");
exit(1);
}
addr_list = (struct in_addr **) he->h_addr_list;
for (i = 0; addr_list[i] != NULL; i++) {
printf("%s\n", inet_ntoa(*addr_list[i]));
}
return 0;
}
```
程序接收一个域名作为输入参数,使用`gethostbyname`函数将域名解析为IP地址,并输出所有解析结果。如果解析失败,则会输出错误信息并退出程序。需要注意的是,`gethostbyname`函数已经过时,建议使用`getaddrinfo`函数。