2013-04-05 6 views
7

inet_aton इंटरनेट पता के डॉट संस्करण को सामान्य करने का अनुमान नहीं है? मुझे नीचे दिए गए उदाहरण के लिए अलग-अलग आउटपुट मान क्यों मिलते हैं?आईपीवी 4 पता के inet_aton सामान्यीकरण

int main(){ 
    char USER_IP[16] = "192.168.002.025"; 
    char USER_IP2[16] = "192.168.2.25"; 
    struct sockaddr_in addr; 
    struct sockaddr_in addr2; 

    inet_aton(USER_IP2, &addr.sin_addr); 
    inet_aton(USER_IP, &addr2.sin_addr); 

    printf("addr.sin_addr:%lu\n", addr.sin_addr); 
    printf("addr2.sin_addr:%lu\n", addr2.sin_addr); 


    return 0; 
} 

उत्पादन:

addr.sin_addr:419604672 
addr2.sin_addr:352495808 

उत्तर

12
बिंदीदार पते के documentation

घटकों से

(एक प्रमुख 0 के साथ), दशमलव में निर्दिष्ट किया जा सकता अष्टाधारी, या> हेक्साडेसिमल , एक अग्रणी 0 एक्स के साथ)

इसका मतलब है कि

char USER_IP[16] = "192.168.002.025"; 

तात्पर्य 192 168 2 (25 ऑक्टल == 21) और

char USER_IP2[16] = "192.168.2.25"; 

तात्पर्य 192 168 2 25

संबंधित मुद्दे