A função bzero() apaga os dados nos ‘n’ bytes da memória começando no local apontado por ‘s’, escrevendo zeros (bytes contendo ‘\0’) nessa área.
Declaração
void bzero(void *s, size_t n);
Parâmetros
- s – Local que terá os dados apagados.
- n – Quantos bytes a serem zerados.
Retorno
Nenhum
Exemplo
#include <strings.h>
#include <stdio.h>
int main() {
char str[] = "Anime";
printf("A string era: %s\n", str);
bzero(str, 3);
printf("A string ficou: %s\n", str);
return 0;
}


Codificando a função
Basicamente a função deve atribuir 0 a área da string até n, então é só fazer um while.
void ft_bzero(void *s, size_t n)
{
char *str2;
str2 = s; //endereço de str2 é o mesmo que de s
while (n--) //enquanto n não chegar a 0
{
*str2 = 0;
str2++;
}
}
Outra opção é usar o ft_memset():
void ft_bzero(void *s, size_t n)
{
ft_memset(s, 0, n);
}
Referências
http://man7.org/linux/man-pages/man3/bzero.3.html
https://stackoverflow.com/questions/29182966/do-you-have-a-simple-bzero-example