gethostbyname

#include <gmp.h>
#include <stdio.h>
#include <string.h>

int main2(int argc, const char *argv[])
{
mpz_t z_i, z_s, z_o; //定义多精度整数类型
//用1初始化变量
mpz_init_set_str(z_i, "1", 10);
mpz_init_set_str(z_s, "1", 10);
mpz_init_set_str(z_o, "1", 10);
int i;

//z_s=1*2*3*....*10000
for (i = 0; i < 10000; i++)
{
mpz_mul(z_s, z_s, z_i); //z_s=z_s*z_i
mpz_add(z_i, z_i, z_o); //z_i=z_i+z_o
}
gmp_printf("%Zd\n", z_s); //输出和printf类似
//释放空间
mpz_clear(z_i);
mpz_clear(z_s);
mpz_clear(z_o);
return 0;
}

#include "netdb.h"
#include <arpa/inet.h>
int main(int argc, const char *argv[])
{
struct addrinfo hint = {0};
hint.ai_flags = (AI_CANONNAME | AI_V4MAPPED | AI_ALL) & AI_MASK;
hint.ai_socktype = SOCK_STREAM;
hint.ai_family = AF_UNSPEC;
struct addrinfo *res = NULL;
if (getaddrinfo("baidu.com", NULL, &hint, &res))
return 1;
for (struct addrinfo *p = res; p; p = p->ai_next) {
if (p->ai_family == AF_INET) {
printf("IP addr: %s\n", inet_ntoa(((sockaddr_in*)p->ai_addr)->sin_addr));
}
}
freeaddrinfo(res);
struct hostent * d = gethostbyname("baidu.com");
if (d->h_addrtype == AF_INET /*AF_INET6*/ && d->h_length == 4 /*16*/)
for(int i=0; d->h_addr_list[i]; i++){
printf("IP addr %d: %s\n", i+1, inet_ntoa( *(struct in_addr*)d->h_addr_list[i] ) );
}
return 0;
}



posted @ 2024-12-24 14:38  zJanly  阅读(7)  评论(0)    收藏  举报