你有一个简单的bzero例子吗?

时间:2015-03-21 12:56:05

标签: c string.h

我需要实现bzero,我已经阅读了手册,我在StackOverflow上看到了很多关于它的帖子,但我要求的是一个简单的例子,你使用bzero ,我没有找到使用bzero的任何简单示例,而不是在C中的服务器/客户端中使用它。

好的,这是我的memset:

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);
}

看起来不错?

2 个答案:

答案 0 :(得分:0)

所有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';
}

答案 1 :(得分:0)

最简单的例子:

char *test = malloc(256);

memset(test, 0, 256); // or bzero(test, 256);

这会将test的所有元素设置为零。