Funções inet_aton, inet_addr e inet_ntoa

Sintaxe:

int inet_aton(const char * cp, struct in_addr *in);

in_addr_t inet_addr(const char * cp);

char * inet_ntoa(struct in_addr in);


A função inet_aton converte o endereço passado (inclusive com pontos) para uma estrutura de endereços (binário) válido. Retorna um valor maior que 0 (zero) se a conversão ocorreu ou 0 (zero) se houve algum erro.

A função inet_addr converte o endereço passado (inclusive com pontos) para um valor binário (ordenado) em bytes.

A função inet_ntoa realiza a operação inversa de inet_aton. A partir de um valor binário (estrutura) ela retorna o endereço em formato string (inclusive com pontos).

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
 
int main(void)
{
   int iSock;
   struct sockaddr_in dest_addr;
 
   iSock = socket(AF_INET, SOCK_STREAM, 0);
   if( iSock == -1)
   {
      perror("socket:");
      exit(1);
   }
 
   dest_addr.sin_family = AF_INET;
   dest_addr.sin_port = htons(4950);
   dest_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
   bzero(&(dest_addr.sin_zero), 8);
 
   return 0;
}

Marcos Laureano 2008/04/25 06:19

inet_aton.txt · Última modificação: 2008/04/25 08:17 por laureano
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0