我需要实现bzero
,我已经阅读了手册,在StackOverflow上看到了很多关于它的文章,但是我要的是一个简单的示例,其中使用了bzero,但没有找到任何简单的示例使用bzero
代替在C中的服务器/客户端中使用它。
好的,这是我的记忆模式:
void *my_memset(void *b, int c, size_t len)
{
char *pb;
unsigned char car;
if (b == NULL)
return (NULL);
pb = b;
car = (unsigned char)c;
while (len--)
{
*pb++ = car;
}
return (b);
}
void ft_bzero(void *s, size_t n)
{
ft_memset(s, 0, n);
}
看起来还好吗
最佳答案
bzero()
所做的只是将所有内容设置为零。
myStruct_t * foo = malloc (sizeof(myStruct_t));
bzero(foo, sizeof(myStruct_t));
// All bytes of foo are now 0
跟打电话没什么两样
memset (foo, 0, sizeof(myStruct_t));
在幕后,
bzero()
应该与该实现匹配...void bzero(void * s, size_t n)
{
char * c = s; // Can't work with void *s directly.
size_t i;
for (i = 0; i < n; ++i)
c[i] = '\0';
}
关于c - 您是否有一个简单的bzero示例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29182966/