字节操纵函数(套接字地址的清零)

本文介绍了两种源自不同来源的字节操纵函数:4.2BSD的b开头函数(bzero, bcopy, bcmp)和ANSI C的mem开头函数(memset, memcpy, memcmp)。当处理字节串时,bcopy在源目标重叠时能正确处理,而memcpy在遇到重叠时应替换为memmove。了解这些函数的差异对于优化内存操作至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字节操纵函数

源自4.2BSD以b开头的一组函数

#include <string.h>
void bzero(void *dest,size_t nbytes);
void bcopy(const void *src,void *dest,size_t nbytes);
void bcmp(const void *ptrl,const void *ptr2,size_t nbytes);

源自ANSI C标准以mem开头的第二组函数

#include <string.h>
void *memset(void *dest,int c,size_t len);
//将目标字节串指定数目的字节置位值c。
void *memcpy(void *dest,,const void *src,size_t nbytes);
int memcmp(const void *ptrl,const void *ptr2,size_t nbytes);

当源字节串与目标字节串重叠时,bcopy能够正确处理,但是必须将memcpy改用memmove处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值