a #include prototipo de la función < netdb.h > struct hostent * gethostbyname (const char * nombre); acción: la estructura prototipo puede ser utilizado para resolver nombres de dominio hostent sigue: struct hostent {char * h_name; char ** h_aliases; int h_addrtype; int h_length; char ** h_addr_list;} ejemplo: # include < stdio.h > # include < stdlib.h > # include < sys /socket.h > # include < netinet /in. h > # include < netdb.h > int main (int argc, char ** argv) {if (argc = 2!) {fprintf (stderr, " Uso:% s hostname \\ n ", argv [1]); de salida (1);} struct hostent * respuesta; int i; charla ipstr [16]; respuesta = gethostbyname (argv [1]), si (respuesta == NULL) {herror (" gethostbyname "); //una gethostbyname propia salida función de gestión de errores (1);} for (i = 0; (respuesta- > h_addr_list) [i] = NULL;! i ++) {inet_ntop (AF_INET, (respuesta- > h_addr_list) [i] , ipstr, 16); printf ("% s \\ n ", ipstr); printf (" nombre officail:% s \\ n ", respuesta- > h_name);} de salida (0);} implementación compilador de los resultados: root @ ubuntu: /media /2-G /profesor Código /20100427 /inet_v4 /arroyo # ./myhost www.hpu.edu.cn202.102.253.254officail nombre: www.hpu.edu.cn En segundo lugar, el prototipo de la función int getaddrinfo (const char * nodo, el servicio * const char, const struct addrinfo * consejos, estructura addrinfo ** Res); esta función almacena datos en una lista enlazada. char * nodo generalmente const char * Servicio //nombre de dominio, puede NULLconst estructura de puntos struct addrinfo * consejos //devuelto por la dirección de enchufe de los res struct addrinfo ejemplar ** res //resultados para ser devueltos: # include < stdio.h > # include < stdlib.h > # include < sys /socket.h > # include < netinet /in.h > # include < netdb.h > # include < string.h > int main (int argc, char ** argv) {if (argc = 2!) {fprintf (stderr, " Uso:% s hostname \\ n ", argv [1]); la salida (1);} struct addrinfo * respuesta, pista, * curr; charla ipstr [16]; bzero (&pista, sizeof (indirecta)); hint.ai_family = AF_INET; hint.ai_socktype = SOCK_STREAM; int ret = getaddrinfo (argv [1], NULL, &indicio , &respuesta), si (r = 0) {fprintf (stderr, " getaddrinfo: &s \\ n ", gai_strerror (retirado); salida (1);!)} de (curr = contestar; curr =! NULL; curr = curr- > ai_next) {inet_ntop (AF_INET, &(((struct sockaddr_in *) (curr- > ai_addr)) - > sin_addr), ipstr, 16); printf ("% s \\ n ", ipstr);} FreeAddrInfo (respuesta); salida (0);}
zh-CN"],null,[0.95918638],zh-CN"]]]
Demasiados archivos abiertos Los errores son fallas comunes en los sistemas Linux. Las soluciones se
Ahora, usemos los dos tubos digitales en la placa de experimentación para hacer un ciclo para mostra
busybox es un cuadro de comando de Linux que integra muchas herramientas y comandos que comprimen Li
Un control de puerto serie Generalmente, usamos principalmente el puerto serie para la transmisión d
Enseñe 5 pasos para restaurar la contraseña del sistema Ubuntu
Linux eliminar archivo por lotes y archivo vacío eliminar comando
Comandos comunes para la supervisión del rendimiento de Linux
Rel5 bajo el tutorial de configuración de proxy transparente
Centos crack contraseña y nivel de ejecución
Subsistema vecino de la pila de protocolos de linux (recuperación de basura siete)
La pantalla del icono de la partición del disco duro de Win 7 no es normal
Win XP: Búsqueda de fallas y puntos
Win7 64-bit Ultimate system usando el comando cmd para reparar el sistema
Cómo cancelar la instalación del sistema windows10
Solución del fallo de instalación del parche KB2919355 del sistema Win8.1
Cancelar el método de arreglo inteligente de la ventana de Windows 7
Resuelva el sistema de Windows 7 reproduciendo el video de la página web en silencio