编辑代码

#if 0

#include <arpa/inet.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       int
       main(int argc, char *argv[])
       {
           unsigned char buf[sizeof(struct in6_addr)];
           int domain, s;
           char str[INET6_ADDRSTRLEN];

           if (argc != 3) {
               fprintf(stderr, "Usage: %s {i4|i6|<num>} string\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           domain = (strcmp(argv[1], "i4") == 0) ? AF_INET :
                    (strcmp(argv[1], "i6") == 0) ? AF_INET6 : atoi(argv[1]);

           s = inet_pton(domain, argv[2], buf);
           if (s <= 0) {
               if (s == 0)
                   fprintf(stderr, "Not in presentation format");
               else
                   perror("inet_pton");
               exit(EXIT_FAILURE);
           }

           if (inet_ntop(domain, buf, str, INET6_ADDRSTRLEN) == NULL) {
               perror("inet_ntop");
               exit(EXIT_FAILURE);
           }

           printf("%s\n", str);

           exit(EXIT_SUCCESS);
       }

#else
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
int main(void)
{
	struct in_addr addr1;
	struct in_addr addr2;
	int l1 ,l2;
	l1 = inet_addr("192.168.1.1");
	l2 = inet_addr("200.168.1.1");
	printf("l1 is %d\n",l1);
	memcpy(&addr1,&l1,4);
	memcpy(&addr2,&l2,4);
	printf("%s  :  %s\n",inet_ntoa(addr1),inet_ntoa(addr2));
	printf("%s\n",inet_ntoa(addr1));
	printf("%s\n",inet_ntoa(addr2));
	return 0;
}



#endif