Cygwin下地址轉換函數的使用。

        1. inet_aton(),inet_addr(),inet_ntoa()在點分十進制數串與它的32位網絡字節序二進制間轉換IPv4地址。
        2. inet_pton(),inet_ntop()爲較新函數,對IPv4和IPv6地址都能處理。
       在Cygwin環境下,我使用inet_pton()或inet_ntop()函數時,無法通過。打開arpa/inet.h:
/* arpa/inet.h

   Copyright 1997, 1998, 2001 Red Hat, Inc.

This file is part of Cygwin.

This software is a copyrighted work licensed under the terms of the
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
details. */

#ifndef _ARPA_INET_H
#define _ARPA_INET_H

#include <netinet/in.h>

#ifdef __cplusplus
extern "C"
{
#endif

#ifndef __INSIDE_CYGWIN_NET__
unsigned long  inet_addr (const char *);
int   inet_aton (const char *, struct in_addr *);
unsigned long  inet_lnaof (struct in_addr);
struct in_addr  inet_makeaddr (unsigned long , unsigned long);
unsigned int  inet_netof (struct in_addr);
unsigned int  inet_network (const char *);
char  *inet_ntoa (struct in_addr);
#endif

#ifdef __cplusplus
};
#endif

#endif /* _ARPA_INET_H */

        可以看到,Cygwin不支持兩個較新的函數,也就是說Cygwin可能不支持IPv6。我只有使用inet_aton(),inet_addr(),inet_ntoa()。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章