ابزار کاربر

ابزار سایت


c-socket-programming:inet_pton

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش قبل در دو طرفنگارش قبل
نگارش بعد
نگارش قبل
c-socket-programming:inet_pton [2024/06/18 01:52] pejmanc-socket-programming:inet_pton [2024/06/18 22:49] (فعلی) pejman
خط 10: خط 10:
 تعریف struct in_addr به شکل زیر است تعریف struct in_addr به شکل زیر است
 <code C> <code C>
-// man 7 ip 
-// man 3 inet 
-// Internet address (a structure for historical reasons) 
 typedef uint32_t in_addr_t; typedef uint32_t in_addr_t;
 struct in_addr { struct in_addr {
خط 23: خط 20:
 <code C> <code C>
 // inet_pton-ipv4.c // inet_pton-ipv4.c
 +// gcc -std=c99 -o inet_pton-ipv4 inet_pton-ipv4.c
 #include <stdio.h> #include <stdio.h>
 #include <arpa/inet.h> #include <arpa/inet.h>
خط 60: خط 58:
  
 <code C> <code C>
 +// inet_pton-ipv4.c
 +// gcc -std=c99 -Wall -Wextra -Werror -pedantic -o inet_pton-ipv4 inet_pton-ipv4.c
 #include <stdio.h> #include <stdio.h>
 #include <arpa/inet.h> #include <arpa/inet.h>
خط 65: خط 65:
 int main() int main()
 { {
- char *ipv4 = "192.168.154.239"; +    char *ipv4 = "192.168.154.239"; 
- unsigned int ui;+    unsigned int ui;
  
- inet_pton(AF_INET, ipv4, &ui); +    inet_pton(AF_INET, ipv4, &ui);
  
- printf("ipv4 string : %s\n", ipv4); +    printf("ipv4 string : %s\n", ipv4); 
- printf("sizeof(unsigned int) : %d\n", sizeof(unsigned int)); +    printf("sizeof(unsigned int) : %ld\n", sizeof(unsigned int)); 
- printf("ia hex : %X\n", ui); +    printf("ia hex : %X\n", ui); 
- printf("ia dec : %u\n", ui);+    printf("ia dec : %u\n", ui);
  
- return 0;+    return 0;
 } }
 </code> </code>
خط 93: خط 93:
  
 <code C> <code C>
 +// inet_pton-ipv6.c
 +// gcc -std=c99 -Wall -Wextra -Werror -pedantic -o inet_pton-ipv6 inet_pton-ipv6.c
 +
 #include <stdio.h> #include <stdio.h>
 #include <arpa/inet.h> #include <arpa/inet.h>
خط 98: خط 101:
 int main() int main()
 { {
- char *ipv6 = "0011:2233:4455:6677:8899:AABB:CCDD:EEFF"; +    char *ipv6 = "0011:2233:4455:6677:8899:AABB:CCDD:EEFF"; 
- struct in6_addr i6a;+    struct in6_addr i6a;
  
- inet_pton(AF_INET6, ipv6, &i6a);+    inet_pton(AF_INET6, ipv6, &i6a);
  
- printf("sizeof(struct in6_addr) : %d\n", sizeof(struct in6_addr)); +    printf("sizeof(struct in6_addr) : %ld\n", sizeof(struct in6_addr)); 
- printf("ipv6 str: %s\n", ipv6); +    printf("ipv6 str: %s\n", ipv6); 
- for(int i=0; i < sizeof(struct in6_addr); i++) +    for(long unsigned int i=0; i < sizeof(struct in6_addr); i++) 
- printf("%02X ", i6a.s6_addr[i]); +     printf("%02X ", i6a.s6_addr[i]); 
- printf("\n");+    printf("\n");
  
- return 0;+    return 0;
 } }
 </code> </code>
c-socket-programming/inet_pton.1718662963.txt.gz · آخرین ویرایش: 2024/06/18 01:52 توسط pejman

به جز مواردی که ذکر می‌شود، مابقی محتویات ویکی تحت مجوز زیر می‌باشند: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki