Linux网络编程中的基本函数

本文介绍了Linux网络编程中涉及的基本函数,包括字节排序(htonl, htons, ntohl, ntohs)和字节操纵(bzero, bcopy, bcmp, memset, memcpy, memcmp)。此外,还讲解了IP地址转换函数,如inet_addr, inet_ntoa和inet_aton,它们在处理点分十进制IP地址与网络字节序之间的转换中的作用。" 125646391,7418432,数据分析方法全览:从5W2H到AARRR模型,"['数据分析', '业务知识', '数据挖掘', '产品运营', '逻辑推理']

一.字节排序函数

1.#include <netinet/in.h>

uint32_t htonl(uint32_t hostlong); //对于long类型的变量,从主机字节序转换为网络字节序

uint16_t htons(uint16_t hostshort);//对于short类型的变量,从主机字节序转换为网络字节序

uint32_t ntonl(uint32_t netlong);//对于long类型的变量,从网络字节序转换为主机字节序

uint32_t ntons(uint16_t netlong;//对于short类型的变量,从网络字节序转换为主机字节序


二字节操纵函数
#include <strings.h>
1.void bzero (void *dest,size_t nbytes);
2.void bcopy (const void *src,void *dest,size_t nbytes);

3.int bcmp (const void *ptr1,const void *ptr2,size_t nbytes);
4.void memset (void *dest,int c,size_t len);
5.void memcpy (void *dest,const void *src,size_t nbytes);
6.void memcmp (const void *ptr1,const void *ptr2,size_t nbytes);


bzero:从dest指定的起始地址其,长度为nbytes(字节)的内存段设置为0
bcopy和memcpy:复制内存的数据,参数crs指向原地址,dest指向目的地址,nbytes表示复制的长度
bcmp和memcmp:比较内存数据的大小,参数ptr1和ptr2指向两个将要进行比较的存储区,nbytes是以字节为单位的存储区的长度。函数的比较结果取决于第一个不相等的字节。如果ptr1>ptr2,返回值>0,如果ptr1=ptr2,返回值=0,如果ptr1<ptr2,返回值<0.
memset:用于给由dest指定的目标中指定数目len的字节设置位值。

三.IP地址转换函数
IP是以“.”隔开的十进制数表示,套接口的数据结构中用的是32位的网络字节序的二进制数值
in_addr_t inet_addr(const char *cp); //将点分十进制字符串转换成十进制长整型数,返回32位二进制的网络字节序地址
char *inet_ntoa(struct in_addr in); //将长整型IP地址转换成点分十进制,返回的是点分十进制的IP地址字符串。
int inet_aton(const char *straddr,struct in_addr *addrptr);
//将点分十进制数的IP地址转换成为网卡字节序的32位二进制数值,输入的IP存放在straddr中,作为返回结果的二进制数值存放在addrptr中




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值