411 REFERENCE · Wikibooks
C++ Programming/Code/Standard C Library/Functions/memset
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
memset
#include <cstring>
void* memset( void* buffer, int ch, size_t count );
The function memset() copies ch into the first count characters of buffer, and returns buffer. memset() is useful for intializing a section of memory to some value. For example, this command:
const int ARRAY_LENGTH;
char the_array[ARRAY_LENGTH];
...
// zero out the contents of the_array
memset( the_array, '\0', ARRAY_LENGTH );
...is a very efficient way to set all values of the_array to zero.
The table below compares two different methods for initializing an array of characters: a for loop versus memset(). As the size of the data being initialized increases, memset() clearly gets the job done much more quickly:
Input size Initialized with a for loop Initialized with memset() 1000 0.016 0.017 10000 0.055 0.013 100000 0.443 0.029 1000000 4.337 0.291
Related topics memcmp - memcpy - memmove