页次: 1
主题已关闭
以下代码,是先打开文件,然后把得到的ip地址写进去再关闭文件。
#include <stdio.h>
#include <netdb.h>
#include <string.h>
#define MAXBYTE 0xff
int main(int argc, char *agv[]){
const char hostName[][MAXBYTE] = { "github.com", "github.global.ssl.fastly.net", "codeload.github.com" };
FILE *fp = fopen("/etc/hosts", "w");
if(!fp){
perror("open file /etc/hosts error");
return -1;
}
for(int i = 0; i < 3; ++i){
char **phe = NULL;
char destIp[MAXBYTE];
struct hostent *he = gethostbyname(hostName[i]);
inet_ntop(he->h_addrtype,*he->h_addr_list,destIp,sizeof(destIp));
char content[MAXBYTE * 2];
sprintf(content, "%s %s\n", destIp, hostName[i]);
fwrite(content, strlen(content), 1, fp);
printf("%s", content);
}
fclose(fp);
return 0;
}
这是提这个问题时程序的输出
13.250.177.223 github.com
173.252.102.16 github.global.ssl.fastly.net
54.251.140.56 codeload.github.com
我尝试过www.baidu.com这个域名,输出是39.156.69.79 220.181.38.148,分成两次输出。
以上ip除了www.baidu.com外,都和IPAddress得到的结果不一样,这是为何?
离线
重复帖。
离线
页次: 1
主题已关闭