操作多字节字段的函数有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
时间: 2024-12-13 13:03:05