字节操纵函数

操作多字节字段的函数有2组

名字以b(表示字节)开头的

名字以mem(表示内存)开头的

它们既不对数据作解释,也不假设数据是以空字符结束的C字符串

当处理套接字地址结构时,我妈需要这些类型的函数,因为我妈需要操作诸如IP地址这样的字段,这些字段可能包含值位0的字节,却并不是C字符串。

以空字符结尾的C字符串是由<string.h>头文件中定义、名字以str开头的函数处理的

void bzero(void *dest,size_t nbytes)

bzero把目标字符串中指定数目的字节置0,常常使用该函数来把一个套接字地址结构初始化为0

void bcopy(const void *src,void *dest,size_t nbytes)

bcopy将指定数目的字节从源字节串移动到目标字节串

int bcmp(const void *ptr1,const void *ptr2,size_t nbyte)

bcmp比较2个任意的字符串,若相同返回0,否则返回非0

void *memset(void *dest,int c,size_t len)

memset把目标字节串指定数目的字节置为值c

void *memcpy(void *dest,const void *src,size_t nbytes)

memcopy类似bcopy,但是2个指针参数的顺序是相反的

int memcmp(const void *ptr1,const void *ptr2,size_t nbytes)

memcmp比较2个任意的字节串,相同返回0,如果ptr1所指字节串大于ptr2所指的字节串,返回大于0,否则小于0

========================if i have some wrong, please give me a message, thx.========================
原文地址:https://www.cnblogs.com/ailx10/p/5348112.html