首页 > 代码库 > C网络编程-基本函数

C网络编程-基本函数

1.

字节排序函数,返回大小端存储类型

#include<netinet/in.h>//返回网络字节序uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);//返回主机字节序uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);

2.

字节操纵函数

#include<strings.h>//将dest内存置零void bzero(void *dest,size_t nbytes);//复制src到dest的nbytesvoid bcopy(const void *src,void *dest,size_t nbytes);//比较大小int bcmp(const void *ptr1,const void *ptr2,size_t nbytes);//设置位值void memset(void *dest,int c,size_t len);void memcopy(void *dest,const void *src,size_t nbytes);int memcmp(const void *ptr1,const void *ptr2,size_t nbytes);

 

3.

IP地址转换函数

#include<arpa/inet.h>int inet_aton(const char *straddr,struct in_addr *addrptr);//成功返回1,否则0char *inet_ntoa(struct in_addr inaddr);//失败为NULL,否则返回指向十进制数串的指针in_addr_t inet_addr(const char *straddr);//返回32bit的binary的网络字节序地址,出错返回INADDR_NONE

 

4.

IP和域名转换

#include<netdb.h>struct hostent *gethostbyname(const char *hostname);struct hostent *gethostbyaddr(const char *addr,size_t len,int family);//出错时返回NULL,同时将全局变量h_errno设置为相应的值////HOST_NOT_FOUND//TRY_AGAIN//NO_RECOVERY//NO_DATA

 

调用h_strerror()可以返回详细出错信息

C网络编程-基本函数