inet_aton.c
00001 #include <sys/types.h>
00002 #include <sys/socket.h>
00003 #include <stdio.h>
00004 #include <stdlib.h>
00005 #include <netinet/in.h>
00006 #define __USE_MISC 1
00007 #include <arpa/inet.h>
00008
00009 int main(int argc, char* argv[])
00010 {
00011 struct in_addr addr_by_aton, addr_by_addr;
00012 if ( argc != 2) {
00013 fprintf(stderr, "Usage: %s <adresse IP>\n",argv[0]);
00014 return EXIT_FAILURE;
00015 }
00016
00017 if ( !(inet_aton(argv[1], &addr_by_aton)) ) {
00018 fprintf(stderr, "Format invalide d'adresse (%s)\n",argv[1]);
00019 }
00020
00021 if ( (addr_by_addr.s_addr = inet_addr(argv[1])) == INADDR_NONE) {
00022 fprintf(stderr, "inet_addr a échoué sur l'adresse %s\n",argv[1]);
00023 return EXIT_FAILURE;
00024 }
00025 printf("Adresse récupérée par inet_aton %02x (%s)\n",
00026 addr_by_aton.s_addr, argv[1]);
00027 printf("Adresse récupérée par inet_addr %02x (%s)\n",
00028 addr_by_addr.s_addr, argv[1]);
00029
00030 printf("Affichage via inet_ntoa : %s\n", inet_ntoa(addr_by_aton));
00031 return EXIT_SUCCESS;
00032 }