memset [C++ Reference]
Keywords: c,string,memset
Date: 2009-09-15T08:04:12-0700

[[memset]]
C++ Reference
Translations of this page?:

- en
- br-pt
- cn
- fr
- it
- jp
- pl
- ru
- tr

## memset

Syntax:

        #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 = 300;
         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

Edit this page • Old revisions
• • • Login • Index • Recent changes • RSS • cc •