C · Intermediário · Inglês · Técnico
memset
Função que preenche n bytes de uma região com um mesmo valor de byte. É muito usada para zerar buffers e structs.
Onde usar
memset(&s, 0, sizeof s) zera uma struct inteira. Preencher arrays de int com valores diferentes de 0 ou -1 dá resultado inesperado, porque o preenchimento é por byte.
Em código
int v[4];
memset(v, 0, sizeof v); // zera tudo
char s[8];
memset(s, 'x', 7);
s[7] = '\0'; // "xxxxxxx"Exemplos
Zero the struct with memset before filling it.
Zere a struct com memset antes de preenchê-la.
memset fills bytes, not ints.
O memset preenche bytes, não ints.
Cuidado
Confiar nele para apagar senhas da memória: o compilador pode eliminá-lo se os dados não forem lidos depois.
Origem
Abreviação de memory set.